Pump it Up: Data Mining the Water Table

Analysed By : Osafa Karim (osafa.karim@gmail.com)

Analysed On : 4th July 2019

Analysed for : Axiata Analytics - Employment Test

Python kernel Used
In [1]:
# kernel used
from platform import python_version
print('The version of ',python_version())
The version of  3.6.8
In [2]:
# importing the data-analysis and visualization libraries
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
from datetime import datetime 
%matplotlib inline

import os
import requests

import re 
import geopy.distance

pd.set_option('display.max_columns', None)
pd.set_option('display.max_rows', None)
Download the data set for analyses from the url as is in the
https://www.drivendata.org/competitions/7/pump-it-up-data-mining-the-water-table/data/
In [3]:
def download_data(url, file_name):
    '''
    input : 
       1. url - the url from where the file has to be downloaded
       2. file_name - the name with with the corresponding file has to be created 
    '''
    if file_name not in os.listdir():
        t0 = datetime.now()
        response = requests.get(url)
        with open(os.path.join(os.getcwd(), file_name), 'wb') as f:
            f.write(response.content)
        
        print('****** File ', file_name,', of size :',os.path.getsize(file_name)/1000000 ,' MB sucessfully downloaded in ',
             str((datetime.now()- t0).seconds),' seconds !!!!.')
    else:
        print('****** File with name ',file_name,' already exists. Please verify.')
        
In [4]:
# training-set values
url = 'https://s3.amazonaws.com/drivendata/data/7/public/4910797b-ee55-40a7-8668-10efd5c1b960.csv'
file_name = 'raw_train_feature_vectors.csv'
download_data(url, file_name)
****** File with name  raw_train_feature_vectors.csv  already exists. Please verify.
In [5]:
# training-set labels
url = 'https://s3.amazonaws.com/drivendata/data/7/public/0bf8bc6e-30d0-4c50-956a-603fc693d966.csv'
file_name = 'raw_train_target_vectors.csv'
download_data(url, file_name)
****** File with name  raw_train_target_vectors.csv  already exists. Please verify.
In [6]:
# testing-set values
url = 'https://s3.amazonaws.com/drivendata/data/7/public/702ddfc5-68cd-4d1d-a0de-f5f566f76d91.csv'
file_name = 'raw_test_feature_vectors.csv'
download_data(url, file_name)
****** File with name  raw_test_feature_vectors.csv  already exists. Please verify.

Data Description

In [7]:
# train data-set 

train_data = pd.read_csv('raw_train_feature_vectors.csv')
In [8]:
print('There {} features and {} data-points in train-data set.'.format(train_data.shape[1],train_data.shape[0]))
There 40 features and 59400 data-points in train-data set.
In [9]:
# get the data-types of the features
train_data.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 59400 entries, 0 to 59399
Data columns (total 40 columns):
id                       59400 non-null int64
amount_tsh               59400 non-null float64
date_recorded            59400 non-null object
funder                   55765 non-null object
gps_height               59400 non-null int64
installer                55745 non-null object
longitude                59400 non-null float64
latitude                 59400 non-null float64
wpt_name                 59400 non-null object
num_private              59400 non-null int64
basin                    59400 non-null object
subvillage               59029 non-null object
region                   59400 non-null object
region_code              59400 non-null int64
district_code            59400 non-null int64
lga                      59400 non-null object
ward                     59400 non-null object
population               59400 non-null int64
public_meeting           56066 non-null object
recorded_by              59400 non-null object
scheme_management        55523 non-null object
scheme_name              31234 non-null object
permit                   56344 non-null object
construction_year        59400 non-null int64
extraction_type          59400 non-null object
extraction_type_group    59400 non-null object
extraction_type_class    59400 non-null object
management               59400 non-null object
management_group         59400 non-null object
payment                  59400 non-null object
payment_type             59400 non-null object
water_quality            59400 non-null object
quality_group            59400 non-null object
quantity                 59400 non-null object
quantity_group           59400 non-null object
source                   59400 non-null object
source_type              59400 non-null object
source_class             59400 non-null object
waterpoint_type          59400 non-null object
waterpoint_type_group    59400 non-null object
dtypes: float64(3), int64(7), object(30)
memory usage: 18.1+ MB
In [10]:
# Casting the data types of date fileds to datetime dtype
train_data['date_recorded'] = pd.to_datetime(train_data['date_recorded'])
#train_data['construction_year'] = pd.to_datetime(train_data['construction_year'])
Check for missing data
In [11]:
#train_data.isna().sum()
for a in train_data.columns[train_data.isna().any()].tolist():
    print(a ,' has ',train_data[train_data[a].isna()].shape[0],' missing values')
funder  has  3635  missing values
installer  has  3655  missing values
subvillage  has  371  missing values
public_meeting  has  3334  missing values
scheme_management  has  3877  missing values
scheme_name  has  28166  missing values
permit  has  3056  missing values
In [12]:
# Count of types of features
categorical = len(train_data.select_dtypes(include='object').columns)
integ = len(train_data.select_dtypes(include='int64').columns)
float_num = len(train_data.select_dtypes(include='float64').columns)
date_time = len(train_data.select_dtypes(include='datetime64[ns]').columns)
In [13]:
categorical, integ, float_num, date_time
Out[13]:
(29, 7, 3, 1)
In [14]:
dty_list =[]

for a, b in zip([categorical, integ, float_num, date_time],['categorical', 'integ', 'float_num', 'date_time']):
    for _ in range(a):
            dty_list.append(b)
    
In [15]:
plt.hist(dty_list, color = 'green')
plt.xlabel('\n Data types of the features')
plt.ylabel('Counts')
plt.title(' Comparison of the fetaures by dtypes')
Out[15]:
Text(0.5, 1.0, ' Comparison of the fetaures by dtypes')
In [16]:
# Start dissecting the categorical features 
[ col for col in train_data.columns if train_data[col].dtypes == 'object']
Out[16]:
['funder',
 'installer',
 'wpt_name',
 'basin',
 'subvillage',
 'region',
 'lga',
 'ward',
 'public_meeting',
 'recorded_by',
 'scheme_management',
 'scheme_name',
 'permit',
 'extraction_type',
 'extraction_type_group',
 'extraction_type_class',
 'management',
 'management_group',
 'payment',
 'payment_type',
 'water_quality',
 'quality_group',
 'quantity',
 'quantity_group',
 'source',
 'source_type',
 'source_class',
 'waterpoint_type',
 'waterpoint_type_group']
Let's visualize and analyze each of the categorical features for more insights .
1. Funder - Let's visualize the top 30 Organizations who have funded the water-resources
In [17]:
fund_30 = pd.DataFrame(train_data['funder'].value_counts().head(30))
In [18]:
ax = fund_30.T.plot(kind='bar', figsize = (18, 10) , grid = True )
for p in ax.patches:
    ax.annotate(str(p.get_height()), (p.get_x() * 1.005, p.get_height() * 1.005))
2. Installer - Let's visualize top 30 installers
In [19]:
install_30 = pd.DataFrame(train_data['installer'].value_counts().head(30))
In [20]:
ax = install_30.T.plot(kind = 'bar' , figsize = (16, 10))
for p in ax.patches:
     ax.annotate(str(p.get_height()), (p.get_x() * 1.005, p.get_height() * 1.005))
*** Insight -1 ; funders and installers may or may not be same.
3. wpt_name - The name of the water points in the locality
In [21]:
wpt_30  = pd.DataFrame(train_data['wpt_name'].value_counts().head(30))
In [22]:
ax = wpt_30.T.plot(kind = 'bar' , figsize = (17, 10))
for p in ax.patches:
    ax.annotate(str(p.get_height()), (p.get_x() * 1.005, p.get_height() * 1.005))
*** Insight -2 ; A good number of locations doesn't have water_points
4. basin - Geographical Water Basin
In [23]:
len(train_data['basin'].unique())
Out[23]:
9
In [24]:
# checking if there are missing values for basin
train_data['basin'].isna().sum()
Out[24]:
0
*** Insight -3 . There are 9 basins from where all the waters are supplied.
In [25]:
# Let's visualize , how basins compare in terms of supplying the water
basin_df = pd.DataFrame(train_data['basin'].value_counts())
In [26]:
ax = basin_df.T.plot(kind = 'bar', figsize=(17,7))
for p in ax.patches:
    ax.annotate(str(p.get_height()), (p.get_x() * 1.005, p.get_height() * 1.005))
5. subvillage - Geographical Region
In [27]:
#train_data['subvillage'].value_counts()
In [28]:
train_data['subvillage'].isna().sum()
Out[28]:
371
In [29]:
len(train_data['subvillage'].unique())
Out[29]:
19288

'Lake Victoria' = Latitude: -1° 00' 0.00" S Longitude: 33° 00' 0.00" E

'Pangani' = Latitude: -5° 25' 30.94" S Longitude: 38° 58' 29.03" E

'Rufiji' = Latitude: -8° 00' 0.00" S Longitude: 39° 19' 60.00" E

'Internal'(same as ruvu) = Latitude: -6° 48' 17.99" S Longitude: 38° 41' 59.99" E

'Lake Tanganyika' = 6.2556° S, 29.5108° E

'Wami' - Latitude: -6° 07' 60.00" S Longitude: 38° 48' 59.99" E

'Lake Nyasa' = 11.6701° S, 34.6857° E

'Ruvuma' = 10.6879° S, 36.2631° E

'Lake Rukwa' = 8.0167° S, 32.2654° E

In [30]:
train_data['basin'].value_counts()
Out[30]:
Lake Victoria              10248
Pangani                     8940
Rufiji                      7976
Internal                    7785
Lake Tanganyika             6432
Wami / Ruvu                 5987
Lake Nyasa                  5085
Ruvuma / Southern Coast     4493
Lake Rukwa                  2454
Name: basin, dtype: int64
6. region - Geographic location (coded)
In [31]:
train_data['region'].value_counts()
Out[31]:
Iringa           5294
Shinyanga        4982
Mbeya            4639
Kilimanjaro      4379
Morogoro         4006
Arusha           3350
Kagera           3316
Mwanza           3102
Kigoma           2816
Ruvuma           2640
Pwani            2635
Tanga            2547
Dodoma           2201
Singida          2093
Mara             1969
Tabora           1959
Rukwa            1808
Mtwara           1730
Manyara          1583
Lindi            1546
Dar es Salaam     805
Name: region, dtype: int64
In [32]:
region_data = pd.DataFrame(train_data['region'].value_counts())
In [33]:
ax = region_data.T.plot(kind = 'bar', figsize= (16,9))
for p in ax.patches:
    ax.annotate(str(p.get_height()), (p.get_x() * 1.005, p.get_height() * 1.005))
7.lga - Geographic location
In [34]:
print('Number of LGA in the dataset : ',len(train_data['lga'].unique()),
      ' and number of missing entries is ',train_data['lga'].isna().sum())
Number of LGA in the dataset :  125  and number of missing entries is  0
In [35]:
print('Number of regions in the dataset : ',len(train_data['region'].unique()),
     ' and number of missing entries is ',train_data['region'].isna().sum())
Number of regions in the dataset :  21  and number of missing entries is  0
*** Insight 4 - lga and region might be redundant informations for predictive modelling, for analysis and administrative view of which locations and their corresponding sub-locations has more issues
In [36]:
agg_reg_lga = train_data[['region','lga']].groupby('region').count()
In [37]:
ax = agg_reg_lga.T.plot(kind = 'bar', figsize=(17, 10))
for p in ax.patches:
    ax.annotate(str(p.get_height()), (p.get_x() * 1.005, p.get_height() * 1.005))
plt.title(' Regions by number of sub-regions ')
plt.ylabel(' Count of lga ')
Out[37]:
Text(0, 0.5, ' Count of lga ')
8. ward - Geographic location
In [38]:
print('Number of wards in the dataset : ',len(train_data['ward'].unique()),
     ' and number of missing entries is ',train_data['ward'].isna().sum())
Number of wards in the dataset :  2092  and number of missing entries is  0
** Insight - 5 So "ward" is the sub-category of the "lga" which is sub-category to "region"
In [39]:
location_df = train_data[['region','lga','ward']].groupby(['region','lga']).count()
In [40]:
location_df
Out[40]:
ward
region lga
Arusha Arusha Rural 1252
Arusha Urban 63
Karatu 326
Longido 310
Meru 1009
Monduli 189
Ngorongoro 201
Dar es Salaam Ilala 497
Kinondoni 93
Temeke 215
Dodoma Bahi 224
Chamwino 347
Dodoma Urban 358
Kondoa 523
Kongwa 361
Mpwapwa 388
Iringa Iringa Rural 728
Kilolo 349
Ludewa 564
Makete 630
Mufindi 520
Njombe 2503
Kagera Biharamulo 403
Bukoba Rural 487
Bukoba Urban 88
Chato 236
Karagwe 771
Misenyi 260
Muleba 402
Ngara 669
Kigoma Kasulu 1047
Kibondo 874
Kigoma Rural 824
Kigoma Urban 71
Kilimanjaro Hai 625
Moshi Rural 1251
Moshi Urban 79
Mwanga 519
Rombo 594
Same 877
Siha 434
Lindi Kilwa 392
Lindi Rural 388
Lindi Urban 21
Liwale 154
Nachingwea 300
Ruangwa 291
Manyara Babati 511
Hanang 274
Kiteto 193
Mbulu 297
Simanjiro 308
Mara Bunda 438
Musoma Rural 396
Rorya 210
Serengeti 716
Tarime 209
Mbeya Chunya 298
Ileje 231
Kyela 859
Mbarali 626
Mbeya Rural 485
Mbozi 1034
Rungwe 1106
Morogoro Kilombero 959
Kilosa 1094
Morogoro Rural 521
Morogoro Urban 96
Mvomero 671
Ulanga 665
Mtwara Masasi 528
Mtwara Rural 423
Mtwara Urban 124
Nanyumbu 158
Newala 231
Tandahimba 266
Mwanza Geita 488
Ilemela 142
Kwimba 627
Magu 824
Missungwi 348
Nyamagana 1
Sengerema 331
Ukerewe 341
Pwani Bagamoyo 997
Kibaha 269
Kisarawe 223
Mafia 132
Mkuranga 560
Rufiji 454
Rukwa Mpanda 679
Nkasi 428
Sumbawanga Rural 521
Sumbawanga Urban 180
Ruvuma Mbinga 750
Namtumbo 694
Songea Rural 693
Songea Urban 80
Tunduru 423
Shinyanga Bariadi 1177
Bukombe 514
Kahama 836
Kishapu 399
Maswa 809
Meatu 468
Shinyanga Rural 588
Shinyanga Urban 191
Singida Iramba 544
Manyoni 377
Singida Rural 995
Singida Urban 177
Tabora Igunga 338
Nzega 575
Sikonge 170
Tabora Urban 155
Urambo 382
Uyui 339
Tanga Handeni 254
Kilindi 161
Korogwe 412
Lushoto 694
Mkinga 288
Muheza 334
Pangani 305
Tanga 99

9. public_meeting - True/False

In [41]:
train_data['public_meeting'].value_counts()
Out[41]:
True     51011
False     5055
Name: public_meeting, dtype: int64
In [42]:
ax = pd.DataFrame(train_data['public_meeting'].value_counts()).T.plot(kind='bar')
for p in ax.patches:
    ax.annotate(str(p.get_height()), (p.get_x() * 1.007, p.get_height() * 1.007))
10. recorded_by - Group entering this row of data
In [43]:
train_data['recorded_by'].value_counts()
Out[43]:
GeoData Consultants Ltd    59400
Name: recorded_by, dtype: int64

** All the data was recorded by "GeoData Consultants Ltd"

This info may be left out while model creation as there isn't anything a recorder can do to make prediction of the pumps condition.

11. scheme_management - Who operates the waterpoint
In [44]:
scheme_mgmt = pd.DataFrame(train_data['scheme_management'].value_counts())
In [45]:
ax = scheme_mgmt.T.plot(kind = 'bar', figsize=(18,9) , colormap = 'Paired', use_index= False)
for p in ax.patches:
    ax.annotate(str(p.get_height()), (p.get_x() * 1.007, p.get_height() * 1.007))
plt.xlabel(' Scheme Management')
Out[45]:
Text(0.5, 0, ' Scheme Management')
In [46]:
train_data['scheme_management'].isna().sum()
Out[46]:
3877

12. scheme_name - Who operates the waterpoint

Hence, the above figure . The scheme_management is useful and scheme_name becomes redundant info.

13. permit - If the waterpoint is permitted

In [47]:
permit_df = pd.DataFrame(train_data['permit'].value_counts())
In [48]:
ax = permit_df.T.plot(kind = 'bar', use_index = False )
for p in ax.patches:
    ax.annotate(str(p.get_height()), (p.get_x() * 1.007, p.get_height() * 1.007))
plt.xlabel(' Permit')
Out[48]:
Text(0.5, 0, ' Permit')
*** Insight 6 - A huge number of pumps , nearly a third are without permit.

14. extraction_type - The kind of extraction the waterpoint uses

In [49]:
extract_df = pd.DataFrame(train_data['extraction_type'].value_counts())
In [50]:
ax = extract_df.T.plot(kind = 'bar', figsize=(17, 8), use_index=False)
for p in ax.patches:
    ax.annotate(str(p.get_height()), (p.get_x() * 1.007, p.get_height() * 1.007))
plt.xlabel(' Extraction Type')
Out[50]:
Text(0.5, 0, ' Extraction Type')
*** Insight 7 - The highest , about 50 percent of the pumps use gravity as extraction_type.

15. extraction_type_group - The kind of extraction the waterpoint uses

In [51]:
train_data['extraction_type_group'].value_counts()
Out[51]:
gravity            26780
nira/tanira         8154
other               6430
submersible         6179
swn 80              3670
mono                2865
india mark ii       2400
afridev             1770
rope pump            451
other handpump       364
other motorpump      122
wind-powered         117
india mark iii        98
Name: extraction_type_group, dtype: int64
In [52]:
train_data['extraction_type'].value_counts()
Out[52]:
gravity                      26780
nira/tanira                   8154
other                         6430
submersible                   4764
swn 80                        3670
mono                          2865
india mark ii                 2400
afridev                       1770
ksb                           1415
other - rope pump              451
other - swn 81                 229
windmill                       117
india mark iii                  98
cemo                            90
other - play pump               85
walimi                          48
climax                          32
other - mkulima/shinyanga        2
Name: extraction_type, dtype: int64
In [53]:
train_data['extraction_type_group'].isna().sum()
Out[53]:
0
In [54]:
train_data['extraction_type'].isna().sum()
Out[54]:
0
Both "extraction_type_group" and "extraction_type" are all but same , hence we can use either and drop the other for predictive modelling.

16. extraction_type_class - The kind of extraction the waterpoint uses

In [55]:
train_data['extraction_type_class'].value_counts()
Out[55]:
gravity         26780
handpump        16456
other            6430
submersible      6179
motorpump        2987
rope pump         451
wind-powered      117
Name: extraction_type_class, dtype: int64
In [56]:
train_data['extraction_type_class'].isna().sum()
Out[56]:
0

17. management - How the waterpoint is managed

In [57]:
mgmt_df = pd.DataFrame(train_data['management'].value_counts())
In [58]:
ax = mgmt_df.T.plot(kind = 'bar', figsize=(16,8), use_index=False)
for p in ax.patches:
    ax.annotate(str(p.get_height()), (p.get_x() * 1.007, p.get_height() * 1.007))
plt.xlabel(' Management')
Out[58]:
Text(0.5, 0, ' Management')

18. management_group - How the waterpoint is managed

In [59]:
mgmt_grp_df = pd.DataFrame(train_data['management_group'].value_counts())
In [60]:
ax = mgmt_grp_df.T.plot(kind = 'bar', figsize=(17, 8), use_index=False)
for p in ax.patches:
    for p in ax.patches:
        ax.annotate(str(p.get_height()), (p.get_x() * 1.007, p.get_height() * 1.007))
plt.xlabel(' Management Group')
Out[60]:
Text(0.5, 0, ' Management Group')

19. payment - What the water costs

In [61]:
pay_df = pd.DataFrame(train_data['payment'].value_counts())
In [62]:
ax = pay_df.T.plot(kind = 'bar', figsize=(16, 7), use_index=False)
for p in ax.patches:
    for p in ax.patches:
        ax.annotate(str(p.get_height()), (p.get_x() * 1.007, p.get_height() * 1.007))
plt.xlabel(' Payment')
Out[62]:
Text(0.5, 0, ' Payment')
*** Insight 8 - There are huge no-payments , gives the intuitions of what maintenance would have been done.

20. payment_type - What the water costs

In [63]:
train_data['payment_type'].value_counts() 
Out[63]:
never pay     25348
per bucket     8985
monthly        8300
unknown        8157
on failure     3914
annually       3642
other          1054
Name: payment_type, dtype: int64
In [64]:
train_data['payment'].value_counts()
Out[64]:
never pay                25348
pay per bucket            8985
pay monthly               8300
unknown                   8157
pay when scheme fails     3914
pay annually              3642
other                     1054
Name: payment, dtype: int64

"Payment_type" and "Payment" are duplicate , hence one has to dropped while modelling.

21. water_quality - The quality of the water

In [65]:
wtr_qlt_df = pd.DataFrame(train_data['water_quality'].value_counts())
In [66]:
ax = wtr_qlt_df.T.plot(kind = 'bar', figsize=(16,8), use_index=False)
for p in ax.patches:
    ax.annotate(str(p.get_height()), (p.get_x() * 1.007, p.get_height() * 1.007))
plt.xlabel(' Water Quality ')
Out[66]:
Text(0.5, 0, ' Water Quality ')
*** Insight 9 - Most of the water are soft .

22. quality_group - The quality of the water

In [67]:
qlt_grp_df = pd.DataFrame(train_data['quality_group'].value_counts())
In [68]:
ax = qlt_grp_df.T.plot(kind = 'bar', figsize=(16,8), use_index=False)
for p in ax.patches:
    ax.annotate(str(p.get_height()), (p.get_x() * 1.007, p.get_height() * 1.007))
plt.xlabel(' Quality Group ')
Out[68]:
Text(0.5, 0, ' Quality Group ')

"water_quality" and "quality_group" apparently from the above 2 figures look same/redundant , hence one can drop either one while modelling.

23. quantity - The quantity of water

In [69]:
train_data['quantity'].value_counts()
Out[69]:
enough          33186
insufficient    15129
dry              6246
seasonal         4050
unknown           789
Name: quantity, dtype: int64

24. quantity_group - The quantity of water

In [70]:
train_data['quantity_group'].value_counts()
Out[70]:
enough          33186
insufficient    15129
dry              6246
seasonal         4050
unknown           789
Name: quantity_group, dtype: int64
"quantity" and "quantity_group" are redundant hence , one can drop either and just use one for modelling.

25. source - The source of the water

In [71]:
train_data['source'].value_counts()
Out[71]:
spring                  17021
shallow well            16824
machine dbh             11075
river                    9612
rainwater harvesting     2295
hand dtw                  874
lake                      765
dam                       656
other                     212
unknown                    66
Name: source, dtype: int64

26. source_type - The source of the water

In [72]:
train_data['source_type'].value_counts()
Out[72]:
spring                  17021
shallow well            16824
borehole                11949
river/lake              10377
rainwater harvesting     2295
dam                       656
other                     278
Name: source_type, dtype: int64
'Source_type' looks redundant to "source" hence , while modelling one can drop "source_type".

27. source_class - The source of the water

In [73]:
src_cls_df = pd.DataFrame(train_data['source_class'].value_counts())
In [74]:
ax = src_cls_df.T.plot(kind = 'bar', figsize=(16,8), use_index=False)
for p in ax.patches:
    ax.annotate(str(p.get_height()), (p.get_x() * 1.007, p.get_height() * 1.007))
plt.xlabel(' Source Class ')
Out[74]:
Text(0.5, 0, ' Source Class ')

28. waterpoint_type - The kind of waterpoint

In [75]:
train_data['waterpoint_type'].value_counts()
Out[75]:
communal standpipe             28522
hand pump                      17488
other                           6380
communal standpipe multiple     6103
improved spring                  784
cattle trough                    116
dam                                7
Name: waterpoint_type, dtype: int64

29 . waterpoint_type_group - The kind of waterpoint

In [76]:
train_data['waterpoint_type_group'].value_counts()
Out[76]:
communal standpipe    34625
hand pump             17488
other                  6380
improved spring         784
cattle trough           116
dam                       7
Name: waterpoint_type_group, dtype: int64
"waterpoint_type" and "waterpoint_type_group" are redundant and either one can be dropped while modelling.

Let's visualize and analyze each of the numerical features for more insights .

In [77]:
[col for col in train_data.columns if train_data[col].dtypes in ('int64','float64')]
Out[77]:
['id',
 'amount_tsh',
 'gps_height',
 'longitude',
 'latitude',
 'num_private',
 'region_code',
 'district_code',
 'population',
 'construction_year']

1. Id is just id , hence ignore it

2. amount_tsh - Total static head (amount water available to waterpoint)

In [78]:
tsh_df = train_data[train_data['amount_tsh']  != 0]['amount_tsh']
In [79]:
len(tsh_df)
Out[79]:
17761
In [80]:
len(train_data[train_data['amount_tsh'] == 0])
Out[80]:
41639
In [81]:
tsh_df.hist(bins = 500)
plt.xlim([0, 10000])
Out[81]:
(0, 10000)
'Total static head' feature is higly skewd(right) with 41693 (70% of records) equal to zero. Hence this has to be imputated using some technique (mean or median).

3. gps_height - Altitude of the well

In [82]:
train_data['gps_height'].isna().sum()
Out[82]:
0
In [83]:
train_data['gps_height'].hist(bins = 10)
Out[83]:
<matplotlib.axes._subplots.AxesSubplot at 0x1a276d0d30>
*** Insight 10 - The "gps height" is also skewed , meaning that wells are generally built at a certain heigh in Tanzania.

4. longitude - GPS coordinate . This will be dealt separately , as it will be used to calculate the distance from the basin.

5. latitude - GPS coordinate. This will be dealt separately , as it will be used to calculate the distance from the basin.

6. num_private - The info is completely missing hence nothing can be said or hypothesissed.

7. region_code - Geographic location (coded) - Locations are important to determine the proximity to the main water bodies , but we will use gps coordinates for the same.

8. district_code - Geographic location (coded) - Locations are important to determine the proximity to the main water bodies , but we will use gps coordinates for the same.

9. population - population - Population around the well

In [84]:
train_data['population'].isna().sum()
Out[84]:
0
In [85]:
plt.figure(figsize=(17,8))
train_data['population'].hist(bins = 1000)
plt.xlim([0, 3000])
Out[85]:
(0, 3000)
In [86]:
train_data['population'].max()
Out[86]:
30500
In [87]:
plt.figure(figsize=(17,10))
plt.grid(True)
sns.distplot(train_data['population'] , bins = 500, hist = False)
Out[87]:
<matplotlib.axes._subplots.AxesSubplot at 0x1a299f96a0>

Lets' visualize and analyse the date columns

In [88]:
[col for col in train_data.columns if train_data[col].dtype == 'datetime64[ns]']
Out[88]:
['date_recorded']
1. date_recorded - The date the row was entered
In [89]:
train_data['date_recorded'].head()
Out[89]:
0   2011-03-14
1   2013-03-06
2   2013-02-25
3   2013-01-28
4   2011-07-13
Name: date_recorded, dtype: datetime64[ns]
In [90]:
year_f = lambda x: x.year
In [91]:
train_data['year_recorded'] = train_data['date_recorded'].apply(year_f)
In [92]:
train_data[['date_recorded','year_recorded']].head()
Out[92]:
date_recorded year_recorded
0 2011-03-14 2011
1 2013-03-06 2013
2 2013-02-25 2013
3 2013-01-28 2013
4 2011-07-13 2011
In [93]:
year_rcrd = train_data['year_recorded'].astype('str')
In [94]:
year_rcrd = year_rcrd.value_counts()
In [95]:
ax = year_rcrd.plot(kind = 'bar' , figsize=(16, 5))
for p in ax.patches:
    ax.annotate(str(p.get_height()), (p.get_x() * 1.007, p.get_height() * 1.007))
plt.xlabel(' Year Recorded ')
plt.grid(True)
In [96]:
train_data['month_recorded'] = train_data['date_recorded'].apply(lambda x: x.month)
In [97]:
train_data[['date_recorded','month_recorded']].head()
Out[97]:
date_recorded month_recorded
0 2011-03-14 3
1 2013-03-06 3
2 2013-02-25 2
3 2013-01-28 1
4 2011-07-13 7
In [98]:
month_rcrd = train_data['month_recorded'].astype('str')
In [99]:
ax = month_rcrd.value_counts().plot(kind = 'bar', figsize=(17, 8))
for p in ax.patches:
    ax.annotate(str(p.get_height()), (p.get_x() * 1.007, p.get_height() * 1.007))
plt.xlabel(' Month Recorded ')
plt.grid(True)
*** Insight 11 - FEB and MARCH are the month where most surveys are conducted followed by july , jan and october. Mid year has very few surveys. Perhaps , survey should be distributed equally throughout the year , so that status of pumps are noticed before it's too late .

2. construction_year - Year the waterpoint was constructed

In [100]:
train_data['construction_year'].isna().sum()
Out[100]:
0
In [101]:
train_data[['date_recorded','construction_year','year_recorded']].head()
Out[101]:
date_recorded construction_year year_recorded
0 2011-03-14 1999 2011
1 2013-03-06 2010 2013
2 2013-02-25 2009 2013
3 2013-01-28 1986 2013
4 2011-07-13 0 2011
In [102]:
train_data['years_elapsed'] = train_data['year_recorded'] - train_data['construction_year']
In [103]:
train_data[['date_recorded','construction_year','year_recorded','years_elapsed']].head()
Out[103]:
date_recorded construction_year year_recorded years_elapsed
0 2011-03-14 1999 2011 12
1 2013-03-06 2010 2013 3
2 2013-02-25 2009 2013 4
3 2013-01-28 1986 2013 27
4 2011-07-13 0 2011 2011
In [104]:
len(train_data[train_data['construction_year'] == 0])
Out[104]:
20709
Since a quite a huge number of records are without the year of construction , the intuition here is to replace/impute this with the mode of the fetaure sans zero.
Thus , we can engineer a new feature that gives the life of the pumps.
In [105]:
from scipy.stats import mode
mode(train_data[train_data['construction_year'] != 0]['construction_year'])
Out[105]:
ModeResult(mode=array([2010], dtype=int64), count=array([2645]))
Mode of the construction_year is 2010
In [106]:
train_data['const_yr_impt_2010'] = np.where(train_data['construction_year'] == 0, 2010, train_data['construction_year'])
In [107]:
train_data['const_yr_impt_2010'].head()
Out[107]:
0    1999
1    2010
2    2009
3    1986
4    2010
Name: const_yr_impt_2010, dtype: int64
In [108]:
train_data['years_elapsed'] = train_data['year_recorded'] - train_data['const_yr_impt_2010']
In [109]:
train_data[['date_recorded','construction_year','const_yr_impt_2010','year_recorded','years_elapsed']].head()
Out[109]:
date_recorded construction_year const_yr_impt_2010 year_recorded years_elapsed
0 2011-03-14 1999 1999 2011 12
1 2013-03-06 2010 2010 2013 3
2 2013-02-25 2009 2009 2013 4
3 2013-01-28 1986 1986 2013 27
4 2011-07-13 0 2010 2011 1
In [110]:
train_data.head(10)
Out[110]:
id amount_tsh date_recorded funder gps_height installer longitude latitude wpt_name num_private basin subvillage region region_code district_code lga ward population public_meeting recorded_by scheme_management scheme_name permit construction_year extraction_type extraction_type_group extraction_type_class management management_group payment payment_type water_quality quality_group quantity quantity_group source source_type source_class waterpoint_type waterpoint_type_group year_recorded month_recorded years_elapsed const_yr_impt_2010
0 69572 6000.0 2011-03-14 Roman 1390 Roman 34.938093 -9.856322 none 0 Lake Nyasa Mnyusi B Iringa 11 5 Ludewa Mundindi 109 True GeoData Consultants Ltd VWC Roman False 1999 gravity gravity gravity vwc user-group pay annually annually soft good enough enough spring spring groundwater communal standpipe communal standpipe 2011 3 12 1999
1 8776 0.0 2013-03-06 Grumeti 1399 GRUMETI 34.698766 -2.147466 Zahanati 0 Lake Victoria Nyamara Mara 20 2 Serengeti Natta 280 NaN GeoData Consultants Ltd Other NaN True 2010 gravity gravity gravity wug user-group never pay never pay soft good insufficient insufficient rainwater harvesting rainwater harvesting surface communal standpipe communal standpipe 2013 3 3 2010
2 34310 25.0 2013-02-25 Lottery Club 686 World vision 37.460664 -3.821329 Kwa Mahundi 0 Pangani Majengo Manyara 21 4 Simanjiro Ngorika 250 True GeoData Consultants Ltd VWC Nyumba ya mungu pipe scheme True 2009 gravity gravity gravity vwc user-group pay per bucket per bucket soft good enough enough dam dam surface communal standpipe multiple communal standpipe 2013 2 4 2009
3 67743 0.0 2013-01-28 Unicef 263 UNICEF 38.486161 -11.155298 Zahanati Ya Nanyumbu 0 Ruvuma / Southern Coast Mahakamani Mtwara 90 63 Nanyumbu Nanyumbu 58 True GeoData Consultants Ltd VWC NaN True 1986 submersible submersible submersible vwc user-group never pay never pay soft good dry dry machine dbh borehole groundwater communal standpipe multiple communal standpipe 2013 1 27 1986
4 19728 0.0 2011-07-13 Action In A 0 Artisan 31.130847 -1.825359 Shuleni 0 Lake Victoria Kyanyamisa Kagera 18 1 Karagwe Nyakasimbi 0 True GeoData Consultants Ltd NaN NaN True 0 gravity gravity gravity other other never pay never pay soft good seasonal seasonal rainwater harvesting rainwater harvesting surface communal standpipe communal standpipe 2011 7 1 2010
5 9944 20.0 2011-03-13 Mkinga Distric Coun 0 DWE 39.172796 -4.765587 Tajiri 0 Pangani Moa/Mwereme Tanga 4 8 Mkinga Moa 1 True GeoData Consultants Ltd VWC Zingibali True 2009 submersible submersible submersible vwc user-group pay per bucket per bucket salty salty enough enough other other unknown communal standpipe multiple communal standpipe 2011 3 2 2009
6 19816 0.0 2012-10-01 Dwsp 0 DWSP 33.362410 -3.766365 Kwa Ngomho 0 Internal Ishinabulandi Shinyanga 17 3 Shinyanga Rural Samuye 0 True GeoData Consultants Ltd VWC NaN True 0 swn 80 swn 80 handpump vwc user-group never pay never pay soft good enough enough machine dbh borehole groundwater hand pump hand pump 2012 10 2 2010
7 54551 0.0 2012-10-09 Rwssp 0 DWE 32.620617 -4.226198 Tushirikiane 0 Lake Tanganyika Nyawishi Center Shinyanga 17 3 Kahama Chambo 0 True GeoData Consultants Ltd NaN NaN True 0 nira/tanira nira/tanira handpump wug user-group unknown unknown milky milky enough enough shallow well shallow well groundwater hand pump hand pump 2012 10 2 2010
8 53934 0.0 2012-11-03 Wateraid 0 Water Aid 32.711100 -5.146712 Kwa Ramadhan Musa 0 Lake Tanganyika Imalauduki Tabora 14 6 Tabora Urban Itetemia 0 True GeoData Consultants Ltd VWC NaN True 0 india mark ii india mark ii handpump vwc user-group never pay never pay salty salty seasonal seasonal machine dbh borehole groundwater hand pump hand pump 2012 11 2 2010
9 46144 0.0 2011-08-03 Isingiro Ho 0 Artisan 30.626991 -1.257051 Kwapeto 0 Lake Victoria Mkonomre Kagera 18 1 Karagwe Kaisho 0 True GeoData Consultants Ltd NaN NaN True 0 nira/tanira nira/tanira handpump vwc user-group never pay never pay soft good enough enough shallow well shallow well groundwater hand pump hand pump 2011 8 1 2010
In [111]:
#### 34.93809275	-9.85632177  
#### Lake Nysa - 11.6701° S, 34.6857° E
In [112]:
train_data['basin'].value_counts()
Out[112]:
Lake Victoria              10248
Pangani                     8940
Rufiji                      7976
Internal                    7785
Lake Tanganyika             6432
Wami / Ruvu                 5987
Lake Nyasa                  5085
Ruvuma / Southern Coast     4493
Lake Rukwa                  2454
Name: basin, dtype: int64
In [113]:
# function to convert degree, minutes , seconds to just to degree .
def conv_degree(lat):
    lat = lat.replace(" ","")
    deg, minutes, seconds, direction =  re.split('[°\'"]', lat)
    return (float(deg) + float(minutes)/60 + float(seconds)/(60*60)) * (-1 if direction in ['W', 'S'] else 1)
In [114]:
# 'Lake Victoria' = Latitude: -1° 00' 0.00" S Longitude: 33° 00' 0.00" E
lat_1 = conv_degree("""-1° 00' 0.00" S""")
log_1 = conv_degree("""33° 00' 0.00" E""")

# 'Pangani' = Latitude: -5° 25' 30.94" S Longitude: 38° 58' 29.03" E
lat_2 = conv_degree("""-5° 25' 30.94" S""")
log_2 = conv_degree("""38° 58' 29.03" E""")

# 'Rufiji' = Latitude: -8° 00' 0.00" S Longitude: 39° 19' 60.00" E
lat_3 = conv_degree("""-8° 00' 0.00" S""")
log_3 = conv_degree("""39° 19' 60.00" E""")

# 'Internal'(same as ruvu) = Latitude: -6° 48' 17.99" S Longitude: 38° 41' 59.99" E
lat_4 = conv_degree("""-6° 48' 17.99" S""")
log_4 = conv_degree("""38° 41' 59.99" E""")

# 'Lake Tanganyika' = 6.2556° S, 29.5108° E
lat_5 = conv_degree("""6.2556° 0' 00" S""")
log_5 = conv_degree("""29.5108° 0' 00" E""")

# 'Wami / Ruvu' - Latitude: -6° 07' 60.00" S Longitude: 38° 48' 59.99" E
lat_6 = conv_degree("""-6° 07' 60.00" S""")
log_6 = conv_degree("""38° 48' 59.99" E""")

# 'Lake Nyasa' = 11.6701° S, 34.6857° E
lat_7 = conv_degree("""11.6701° 0' 00" S""")
log_7 = conv_degree("""34.6857° 0' 00" E""")

# 'Ruvuma / Southern Coast' = 10.6879° S, 36.2631° E
lat_8 = conv_degree("""10.6879° 0' 00" S""")
log_8 = conv_degree("""36.2631° 0' 00" E""")

#'Lake Rukwa' = 8.0167° S, 32.2654° E
lat_9 = conv_degree("""8.0167° 0' 00" S""")
log_9 = conv_degree("""32.2654° 0' 00" E""")
In [115]:
def get_basin_lat_long(basin , lat_or_long):
    if basin == "Lake Victoria":
        latitude = lat_1
        longitude = log_1
    elif basin == "Pangani":
        latitude = lat_2
        longitude = log_2
    elif basin == "Rufiji":
        latitude = lat_3
        longitude = log_3
    elif basin == "Internal":
        latitude = lat_4
        longitude = log_4
    elif basin == "Lake Tanganyika":
        latitude = lat_5
        longitude = log_5
    elif basin == "Wami / Ruvu":
        latitude = lat_6
        longitude = log_6
    elif basin == "Lake Nyasa":
        latitude = lat_7
        longitude = log_7
    elif basin == "Ruvuma / Southern Coast":
        latitude = lat_8
        longitude = log_8
    elif basin == "Lake Rukwa":
        latitude = lat_9
        longitude = log_9
    
    if lat_or_long.lower() == 'latitude':
        return latitude
    elif lat_or_long.lower() == 'longitude':
        return longitude
        
        
In [116]:
get_basin_lat_long("Lake Tanganyika", 'latitude')
Out[116]:
-6.2556
In [117]:
train_data['basin_latitude'] = train_data['basin'].apply(get_basin_lat_long, lat_or_long = 'latitude')
In [118]:
train_data['basin_longitude'] = train_data['basin'].apply(get_basin_lat_long, lat_or_long = 'longitude')
In [119]:
# function to calculate the distance of pumps from the respective basins in KMs
def dist_from_basin(basin_lat, basin_long, pump_lat, pump_long):
    coords_1 = (basin_lat.astype('float64'), basin_long.astype('float64'))
    coords_2 = (pump_lat.astype('float64'), pump_long.astype('float64'))
    
    return geopy.distance.vincenty(coords_1, coords_2).km
In [120]:
dist_list = []
for index, row in train_data[['basin_latitude','basin_longitude','latitude','longitude']].iterrows():
    dist = dist_from_basin(row['basin_latitude'], row['basin_longitude'], row['latitude'], row['longitude'])
    dist_list.append(dist)
    
/anaconda3/lib/python3.6/site-packages/ipykernel_launcher.py:6: DeprecationWarning: Vincenty is deprecated and is going to be removed in geopy 2.0. Use `geopy.distance.geodesic` (or the default `geopy.distance.distance`) instead, which is more accurate and always converges.
  
In [121]:
len(dist_list)
Out[121]:
59400
In [122]:
train_data['basin_pump_dist'] = pd.DataFrame({'basin_pump_dist':dist_list})
In [123]:
train_data[['basin_latitude','basin_longitude','latitude','longitude','basin_pump_dist']].head()
Out[123]:
basin_latitude basin_longitude latitude longitude basin_pump_dist
0 -11.670100 34.685700 -9.856322 34.938093 202.517704
1 1.000000 33.000000 -2.147466 34.698766 396.072413
2 4.574739 38.974731 -3.821329 37.460664 943.553742
3 -10.687900 36.263100 -11.155298 38.486161 248.454311
4 1.000000 33.000000 -1.825359 31.130847 375.346864
In [124]:
train_data['basin_pump_dist'].isna().sum()
Out[124]:
0

Let's visualize the collinearity among the numerical features

In [125]:
num_features = [col for col in train_data.columns if train_data[col].dtype in ('int64', 'float64')]
In [126]:
sns.pairplot(train_data[num_features])
Out[126]:
<seaborn.axisgrid.PairGrid at 0x1a2609d748>
In [127]:
plt.figure(figsize=(17, 10))
sns.heatmap(train_data[num_features].corr(), annot=True)
Out[127]:
<matplotlib.axes._subplots.AxesSubplot at 0x1a32b2dba8>

The above data is very redundant , let's drop unuseful features and then redraw the graph.

In [128]:
redundant_cols = ['id','longitude', 'latitude', 'num_private','region_code','construction_year','year_recorded','month_recorded','basin_latitude','basin_longitude']
In [129]:
train_data[num_features].drop(redundant_cols, axis=1).head()
Out[129]:
amount_tsh gps_height district_code population years_elapsed const_yr_impt_2010 basin_pump_dist
0 6000.0 1390 5 109 12 1999 202.517704
1 0.0 1399 2 280 3 2010 396.072413
2 25.0 686 4 250 4 2009 943.553742
3 0.0 263 63 58 27 1986 248.454311
4 0.0 0 1 0 1 2010 375.346864
In [130]:
sns.pairplot(train_data[num_features].drop(redundant_cols, axis=1))
Out[130]:
<seaborn.axisgrid.PairGrid at 0x1a4349d978>
In [131]:
plt.figure(figsize=(17,10))
sns.heatmap((train_data[num_features].drop(redundant_cols, axis=1)).corr(), annot=True)
Out[131]:
<matplotlib.axes._subplots.AxesSubplot at 0x1a496e0d30>
Let's now perform some preprocessing to give the data right structure so that it can be modelled using ML algo.
In [132]:
train_data_1 = train_data.drop(redundant_cols,axis=1)
In [133]:
train_data_1.shape
Out[133]:
(59400, 37)
In [134]:
train_data_1.isna().sum()
Out[134]:
amount_tsh                   0
date_recorded                0
funder                    3635
gps_height                   0
installer                 3655
wpt_name                     0
basin                        0
subvillage                 371
region                       0
district_code                0
lga                          0
ward                         0
population                   0
public_meeting            3334
recorded_by                  0
scheme_management         3877
scheme_name              28166
permit                    3056
extraction_type              0
extraction_type_group        0
extraction_type_class        0
management                   0
management_group             0
payment                      0
payment_type                 0
water_quality                0
quality_group                0
quantity                     0
quantity_group               0
source                       0
source_type                  0
source_class                 0
waterpoint_type              0
waterpoint_type_group        0
years_elapsed                0
const_yr_impt_2010           0
basin_pump_dist              0
dtype: int64
In [135]:
del(train_data)
imputing funder with text 'funder_missing'
In [136]:
train_data_1['funder'].fillna('funder_missing', inplace=True)
imputing installer with text 'installer_missing'
In [137]:
train_data_1['installer'].fillna('installer_missing', inplace=True)
We choose to ignore sub-village column for modelling as we are other predictors for location
In [138]:
train_data_1.drop('subvillage', axis=1, inplace=True)
Impute the public_meeting with text 'miss_p_mtng'
In [139]:
train_data_1['public_meeting'].fillna('miss_p_mtng', inplace=True)
For scheme_management(3877) and scheme_name(28166) , we can drop scheme_name as scheme_name can be identified with scheme_management , will impute scheme_management with text 'miss_sch_mngt'.
In [140]:
train_data_1['scheme_management'].fillna('miss_sch_mngt', inplace=True)
In [141]:
train_data_1.drop('scheme_name', axis=1, inplace=True)
For Permit we impute with text 'miss_permit', it doesn't mean 'NO' permit though.
In [142]:
train_data_1['permit'].fillna('miss_permit', inplace=True)
In [143]:
##### Now again check if there is any missing or null values
train_data_1[train_data_1.isna().any(axis=1)]
Out[143]:
amount_tsh date_recorded funder gps_height installer wpt_name basin region district_code lga ward population public_meeting recorded_by scheme_management permit extraction_type extraction_type_group extraction_type_class management management_group payment payment_type water_quality quality_group quantity quantity_group source source_type source_class waterpoint_type waterpoint_type_group years_elapsed const_yr_impt_2010 basin_pump_dist
In [144]:
train_data_1.shape
Out[144]:
(59400, 35)
dropping the date_recorded and const_yr_impt_2010 as the info from these 2 are incorporated in years_elpased
In [145]:
train_data_1.drop(['date_recorded','const_yr_impt_2010'], inplace=True, axis=1)
In [146]:
train_data_1.columns
Out[146]:
Index(['amount_tsh', 'funder', 'gps_height', 'installer', 'wpt_name', 'basin',
       'region', 'district_code', 'lga', 'ward', 'population',
       'public_meeting', 'recorded_by', 'scheme_management', 'permit',
       'extraction_type', 'extraction_type_group', 'extraction_type_class',
       'management', 'management_group', 'payment', 'payment_type',
       'water_quality', 'quality_group', 'quantity', 'quantity_group',
       'source', 'source_type', 'source_class', 'waterpoint_type',
       'waterpoint_type_group', 'years_elapsed', 'basin_pump_dist'],
      dtype='object')

From the above analysis of the variables, it has been discovered that there are many features which are redundant , which will cause below issue :

1. Delay in training.

2. High utilization of cumputing resources.

3. Over-fiiting/high-variance

4. Difficulty in interpreting the model.

hence it is better to drop these features.

In [147]:
redundant_cols_new = ['district_code',
'waterpoint_type_group',
'source_type',
'source_class',
'quantity_group',
'quality_group',
'payment_type',
'management_group',
'extraction_type_group',
'extraction_type_class',
'recorded_by',
'lga',
'ward',
'basin',
'wpt_name']
In [148]:
train_data_1.drop(redundant_cols_new, axis=1, inplace=True)
In [149]:
train_data_1.columns
Out[149]:
Index(['amount_tsh', 'funder', 'gps_height', 'installer', 'region',
       'population', 'public_meeting', 'scheme_management', 'permit',
       'extraction_type', 'management', 'payment', 'water_quality', 'quantity',
       'source', 'waterpoint_type', 'years_elapsed', 'basin_pump_dist'],
      dtype='object')
In [150]:
train_data_1.shape
Out[150]:
(59400, 18)
In [151]:
train_data_1.head()
Out[151]:
amount_tsh funder gps_height installer region population public_meeting scheme_management permit extraction_type management payment water_quality quantity source waterpoint_type years_elapsed basin_pump_dist
0 6000.0 Roman 1390 Roman Iringa 109 True VWC False gravity vwc pay annually soft enough spring communal standpipe 12 202.517704
1 0.0 Grumeti 1399 GRUMETI Mara 280 miss_p_mtng Other True gravity wug never pay soft insufficient rainwater harvesting communal standpipe 3 396.072413
2 25.0 Lottery Club 686 World vision Manyara 250 True VWC True gravity vwc pay per bucket soft enough dam communal standpipe multiple 4 943.553742
3 0.0 Unicef 263 UNICEF Mtwara 58 True VWC True submersible vwc never pay soft dry machine dbh communal standpipe multiple 27 248.454311
4 0.0 Action In A 0 Artisan Kagera 0 True miss_sch_mngt True gravity other never pay soft seasonal rainwater harvesting communal standpipe 1 375.346864
In [152]:
# get the left over numerical columns for scaling
num_col_sc = [col for col in train_data_1.columns if train_data_1[col].dtype in('int64','float64')]
In [153]:
num_col_sc
Out[153]:
['amount_tsh', 'gps_height', 'population', 'years_elapsed', 'basin_pump_dist']
In [154]:
train_data_1 = pd.get_dummies(train_data_1)
In [155]:
train_data_1.shape
Out[155]:
(59400, 4156)
In [156]:
train_data_1.head()
Out[156]:
amount_tsh gps_height population years_elapsed basin_pump_dist funder_0 funder_A/co Germany funder_Aar funder_Abas Ka funder_Abasia funder_Abc-ihushi Development Cent funder_Abd funder_Abdala funder_Abddwe funder_Abdul funder_Abood funder_Abs funder_Aco/germany funder_Acord funder_Acord Ngo funder_Acra funder_Act funder_Act Mara funder_Action Aid funder_Action Contre La Faim funder_Action In A funder_Adap funder_Adb funder_Adf funder_Adp funder_Adp Bungu funder_Adp Mombo funder_Adp/w funder_Adra funder_Af funder_Afdp funder_Afric funder_Africa funder_Africa 2000 Network/undp funder_Africa Amini Alama funder_Africa Project Ev Germany funder_African funder_African 2000 Network funder_African Barrick Gold funder_African Development Bank funder_African Development Foundation funder_African Muslim Agency funder_African Realief Committe Of Ku funder_African Reflections Foundation funder_African Relie funder_Africaone Ltd funder_Africare funder_Afriican Reli funder_Afroz Ismail funder_Afya Department Lindi Rural funder_Agape Churc funder_Agt Church funder_Ahmadia funder_Ai funder_Aic funder_Aic Church funder_Aic Kij funder_Aict funder_Aimgold funder_Aixos funder_Alia funder_Ambwene Mwaikek funder_Amref funder_Amrefe funder_Anglican Church funder_Angrikana funder_Anjuman E Seifee funder_Answeer Muslim Grou funder_Apm funder_Apm[africa Precious Metals Lt funder_Aqua Blues Angels funder_Arab Community funder_Arabi funder_Arabs Community funder_Ardhi Instute funder_Area funder_Artisan funder_Asb funder_Asdp funder_Asgerali N Bharwan funder_Auwasa funder_Awf funder_B.A.P funder_Ba As funder_Babtest funder_Babtist funder_Bahewasa funder_Bahresa funder_Bakari Chimkube funder_Bakwata funder_Ballo funder_Balo funder_Balyehe funder_Banca Reale funder_Bank funder_Bao funder_Baptist Church funder_Baric funder_Bathlomew Vicent funder_Batist Church funder_Belgian Government funder_Belgij funder_Bened funder_Benguka funder_Bffs funder_Bfwd funder_Bgm funder_Bgss funder_Bgssws funder_Bhws funder_Bilila funder_Bingo Foundation funder_Bingo Foundation Germany funder_Bio Fuel Company funder_Biore funder_Birage funder_Bkhws funder_Boazi funder_Boazi /o funder_Bobby funder_Bokera W funder_Boma Saving funder_Bong-kug Ohh/choonlza Lee funder_Bonite Bottles Ltd funder_Br funder_Bra funder_Brad funder_Brdp funder_Bread For The Wor funder_Bread Of The Worl funder_Bridge North funder_British Colonial Government funder_British Tanza funder_Brown funder_Bruder funder_Bs funder_Bsf funder_Bukumbi funder_Bukwang Church Saint funder_Bukwang Church Saints funder_Buluga Subvillage Community funder_Bulyahunlu Gold Mine funder_Bumabu funder_Buptist funder_Busoga Trust funder_C funder_Cafod funder_Caltas funder_Caltas Tanzania funder_Caltaz Kahama funder_Caltus funder_Calvary Connect funder_Camartec funder_Camavita funder_Canada funder_Canada Aid funder_Care Int funder_Care International funder_Care/cipro funder_Care/dwe funder_Caritas funder_Carmatech funder_Cartas Tanzania funder_Cast funder_Cathoric funder_Cbhi funder_Cc Motor Day 2010 funder_Ccp funder_Ccpk funder_Ccps funder_Cct funder_Cdcg funder_Cdft funder_Cdg funder_Cdtf funder_Cdtfdistrict Council funder_Cefa funder_Cefa-njombe funder_Cefa/rcchurch funder_Ces (gmbh) funder_Ces(gmbh) funder_Cg funder_Cg/rc funder_Cgc funder_Cgi funder_Ch funder_Chacha funder_Chacha Issame funder_Chai Wazir funder_Chama Cha Ushirika funder_Chamavita funder_Chani funder_Charlotte Well funder_Cheni funder_China Government funder_Chmavita funder_Chongolo funder_Christan Outrich funder_Christian Outrich funder_Chuo funder_Churc funder_Church funder_Church Of Disciples funder_Cida funder_Cip funder_Cipro funder_Cipro/care funder_Cipro/care/tcrs funder_Cipro/government funder_Clause funder_Cmcr funder_Cmsr funder_Co funder_Cobashec funder_Cocen funder_Cocern funder_Cocu funder_College funder_Colonial Government funder_Commu funder_Community funder_Community Bank funder_Compa funder_Company funder_Compasion International funder_Comune Di Roma funder_Comunedi Roma funder_Comunity Construction Fund funder_Conce funder_Concen funder_Concern funder_Concern /govern funder_Concern World Wide funder_Concern/governm funder_Cope funder_Costantine Herman funder_Council funder_Cpar funder_Cper funder_Cpps funder_Cpps Mission funder_Cpro funder_Craelius funder_Cristan Outrich funder_Crs funder_Csf funder_Cspd funder_Cvs Miss funder_D funder_D Ct funder_Da Unoperaio Siciliano funder_Dacp funder_Dadid funder_Dadis funder_Dadp funder_Dads funder_Dae Yeol And Chae Lynn funder_Dagida funder_Daida funder_Dak funder_Daldo funder_Danida funder_Danida /government funder_Dar Al Ber funder_Dar Es Salaam Round Table funder_Dasiip funder_Dasip funder_Dasp funder_Dasp Ltd funder_Dassip funder_Dawasa funder_Dawasco funder_Dbfpe funder_Dbsp funder_Dbspe funder_Dct funder_Ddca funder_Ddp funder_De funder_Ded funder_Ded Kilo funder_Ded/rwssp funder_Ded_rwsp funder_Denat funder_Denish funder_Deogratius Kasima funder_Desk And Chair Foundation funder_Devon Aid Korogwe funder_Dfid funder_Dgv funder_Dh funder_Dhinu funder_Dhv funder_Dhv Moro funder_Dhv/gove funder_Dhv\norp funder_Dhv\swis funder_Dimon funder_Dina funder_Dioce funder_Diocese Of Geita funder_Diocese Of Mount Kilimanjaro funder_District Council funder_District Medical funder_District Rural Project funder_Diwani funder_Dmd funder_Dmdd funder_Dmdd/solider funder_Dmk funder_Dmk Anglican funder_Dmmd funder_Dmo funder_Do funder_Doctor Mwambi funder_Doddea funder_Dokta Mwandulam funder_Dom funder_Domestic Rural Development Pr funder_Domestic Rural Development Pro funder_Domestic Water Supply Project funder_Dominiki Simwen funder_Doner And Com funder_Doner And Ded funder_Donor funder_Dqnida funder_Drdp funder_Drdp Ngo funder_Drv Na Idara funder_Drwssp funder_Dsdp funder_Dsp funder_Duka funder_Duwas funder_Dv funder_Dw funder_Dwarf funder_Dwe funder_Dwe And Veo funder_Dwe/anglican Church funder_Dwe/bamboo Projec funder_Dwe/norad funder_Dwe/rudep funder_Dwe/ubalozi Wa Marekani funder_Dwsdp funder_Dwsp funder_Dwssp funder_Dwst funder_Dwt funder_Ea funder_Eastmeru Medium School funder_Eater funder_Ebaha funder_Eco Lodge funder_Education Funds funder_Efg funder_Egypt funder_Egypt Government funder_Egypt Technical Co Operation funder_El funder_Elca funder_Elct funder_Embasy Of Japan In Tanzania funder_Engin funder_Engineers Without Border funder_Eno funder_Enyuati funder_Enyueti funder_Ereto funder_Ermua funder_Erre Kappa funder_Esawa funder_Ester Ndege funder_Eu funder_Eu/acra funder_Eung Am Methodist Church funder_Eung-am Methodist Church funder_European Union funder_F funder_Fabia funder_Fao funder_Farm Africa funder_Farm-africa funder_Fathe funder_Father Bonifasi funder_Father W funder_Fdc funder_Fida funder_Filo funder_Fin Water funder_Fini Water funder_Finida German Tanzania Govt funder_Finidagermantanzania Govt funder_Finland funder_Finland Government funder_Finn Water funder_Finw funder_Finwater funder_Fiwater funder_Floresta funder_Folac funder_Foreigne funder_Fosecu funder_Fpct funder_Fpct Church funder_Fpct Mulala funder_Fptc - Pent funder_Franc funder_France funder_Frankfurt funder_Fredked Conservation funder_Free Pentecoste Church Of Tanz funder_Fresh Water Plc England funder_Friedkin Conservation Fund funder_Friend From Un funder_Friends Of Kibara Foundation funder_Friends Of Ulambo And Mwanhala funder_Full Gospel Church funder_Fw funder_G.D&i.D funder_Ga funder_Gachuma Ginery funder_Gaica funder_Gain funder_Game Division funder_Game Fronti funder_Gdp funder_Geita Goldmain funder_Gen funder_Geochaina funder_Gerald Tuseko Gro funder_German Missionary funder_Germany funder_Germany Cristians funder_Germany Misionary funder_Germany Missionary funder_Germany Republi funder_Gesawa funder_Getdsc00 funder_Getekwe funder_Gg funder_Ggm funder_Gil Cafe'church' funder_Giovan Disinistra Per Salve funder_Giz funder_Global Fund funder_Go funder_Godii funder_Goldmain funder_Goldwill Foundation funder_Government funder_Government /sda funder_Government /tassaf funder_Government /world Vision funder_Government And Community funder_Government Of Misri funder_Government Of Tanzania funder_Government/ Community funder_Government/ World Bank funder_Government/school funder_Government/tassaf funder_Government/tcrs funder_Gra Na Halmashauri funder_Grail Mission Kiseki Bar funder_Grazie Franco Lucchini funder_Grazie Grouppo Padre Fiorentin funder_Greec funder_Greinaker funder_Greineker funder_Grumeti funder_Gt funder_Gtz funder_Gurdians funder_Gwitembe funder_H funder_H/w funder_H4ccp funder_Haam funder_Haidomu Lutheran Church funder_Halimashau funder_Halimashauli funder_Halmashauli funder_Halmashaur funder_Halmashauri funder_Halmashauri Wil funder_Halmashauri Ya Manispa Tabora funder_Halmashauri Ya Wilaya funder_Halmashauri Ya Wilaya Sikonge funder_Ham funder_Hamref funder_Handeni Trunk Main( funder_Handeni Trunk Maini funder_Hans funder_Hapa funder_Hapa Singida funder_Happy Watoto Foundation funder_Haruna Mpog funder_Hasawa funder_Hashi funder_Hasnan Murig (mbunge) funder_Hasnein Muij Mbunge funder_Hasnein Murij funder_Hassan Gulam funder_Haydom Lutheran Hospital funder_Hdv funder_He funder_Healt funder_Health Ministry funder_Hearts Helping Hands.Inc. funder_Henure Dema funder_Heri Mission funder_Hery funder_Hesaw funder_Hesawa funder_Hesawa And Concern World Wide funder_Hesawwa funder_Hesawz funder_Hesawza funder_Hesswa funder_Hewasa funder_Hewawa funder_Hez funder_Hhesawa funder_Hiap funder_Hifab funder_Hilfe Fur Brunder funder_Hindu funder_Holand funder_Holili Water Supply funder_Holla funder_Holland funder_Hongoli funder_Hortanzia funder_Hospital funder_Hotels And Lodge Tanzania funder_Hotels And Loggs Tz Ltd funder_Hpa funder_Hsw funder_Htm funder_Huches funder_Hw/rc funder_Hydom Luthelani funder_I Wash funder_I.E.C funder_Iado funder_Icap funder_Icdp funder_Icf funder_Ics funder_Idara Ya Maji funder_Idc funder_Idea funder_Idf funder_Idydc funder_If funder_Ifad funder_Ifakara funder_Igolola Community funder_Ikela Wa funder_Ikeuchi Towels Japan funder_Il funder_Ilaramataki funder_Ilct funder_Ilkeri Village funder_Ilo funder_Ilo/undp funder_Ilwilo Community funder_Imf funder_In funder_In Memoria Di Albeto funder_Incerto funder_Inkinda funder_Insititutiona funder_Institution funder_Institutional funder_Insututional funder_Internal Drainage Basin funder_International Aid Services funder_Investor funder_Iom funder_Ir funder_Iran Gover funder_Irc funder_Irevea Sister funder_Irevea Sister Water funder_Irish Ai funder_Irish Government funder_Is funder_Isf funder_Isf / Tasaff funder_Isf/government funder_Isf/gvt funder_Isf/tacare funder_Isingiro Ho funder_Islam funder_Islamic funder_Islamic Agency Tanzania funder_Islamic Community funder_Islamic Found funder_Islamic Society funder_Isnashia And funder_Issa Mohamedi Tumwanga funder_Italian funder_Italy funder_Italy Government funder_Iucn funder_Jacobin funder_Jafary Mbaga funder_Jaica funder_Jamal funder_Jamal Abdallah funder_Japan funder_Japan Food Aid Counter Part funder_Japan Aid funder_Japan Embassy funder_Japan Food funder_Japan Food Aid funder_Japan Government funder_Jbg funder_Jeica funder_Jeshi La Wokovu funder_Jeshi La Wokovu [cida] funder_Jeshi Lawokovu funder_Jgb funder_Jica funder_Jika funder_Jimbo Fund funder_Jimmy funder_Jipa funder_John Fund funder_John Gileth funder_John Skwese funder_Ju funder_Ju-sarang Church' And Bugango funder_Judge Mchome funder_Juhibu funder_Juma funder_Jumaa funder_Jumanne funder_Jumanne Siabo funder_Justine Marwa funder_Jwtz funder_K funder_Ka funder_Kaaya funder_Kadip funder_Kadp funder_Kadres Ngo funder_Kaemp funder_Kagera funder_Kagera Mine funder_Kagunguli Secondary funder_Kahema funder_Kajima funder_Kalebejo Parish funder_Kalitasi funder_Kalitesi funder_Kalta funder_Kamama funder_Kamata Project funder_Kambi Migoko funder_Kanamama funder_Kando funder_Kanis funder_Kanisa funder_Kanisa Katoliki funder_Kanisa Katoliki Lolovoni funder_Kanisa La Menonite funder_Kanisa La Mitume funder_Kanisa La Neema funder_Kanisa La Tag funder_Kanisani funder_Kapelo funder_Karadea Ngo funder_Kashwas funder_Kassim funder_Kata funder_Kauzeni funder_Kayempu Ltd funder_Kc funder_Kcu funder_Kdc funder_Kdpa funder_Kdrdp Ngo funder_Kegocha funder_Kenyans Company funder_Kerebuka funder_Kfw funder_Ki funder_Kibaha Independent School funder_Kibaha Town Council funder_Kibara Foundation funder_Kibo funder_Kibo Brewaries funder_Kidep funder_Kidika funder_Kidp funder_Kigoma Municipal funder_Kigoma Municipal Council funder_Kigwa funder_Kijij funder_Kijiji funder_Kikom funder_Kikundi Cha Akina Mama funder_Kilimarondo Parish funder_Kilimo funder_Kilindi District Co funder_Kiliwater funder_Killflora funder_Kilol funder_Kilomber funder_Kilwater funder_Kimkuma funder_Kinapa funder_Kindoroko Water Project funder_Kinga funder_Kingupira S funder_Kipo Potry funder_Kirde funder_Kirdep funder_Kitiangare Village Community funder_Kiuma funder_Kiwanda Cha Ngozi funder_Kiwanda Cha Samaki funder_Kiwanda Cha Tangawizi funder_Kizego Jumaa funder_Kizenga funder_Kkkt funder_Kkkt Canal funder_Kkkt Church funder_Kkkt Dme funder_Kkkt Leguruki funder_Kkkt Mareu funder_Kkkt Ndrumangeni funder_Kkkt Usa funder_Kkkt-dioces Ya Pare funder_Kkkt_makwale funder_Kmcl funder_Kmt funder_Koica funder_Koica And Tanzania Government funder_Koico funder_Kokornel funder_Kolopin funder_Kombe Foundation funder_Kome Parish funder_Kondela funder_Kondo Primary funder_Konoike funder_Kopwe Khalifa funder_Korea funder_Krp funder_Ku funder_Kuamu funder_Kuji Foundation funder_Kurrp funder_Kurrp Ki funder_Kuwait funder_Kuwasa funder_Kwa Ditriki Cho funder_Kwa Makala funder_Kwa Mzee Waziri funder_Kwamdulu Estate funder_Kwang-nam Middle-school funder_Kwaruhombo He funder_Kwasenenge Group funder_Kwik funder_Kwikwiz funder_Kyariga funder_Kyela Council funder_Kyela-morogoro funder_L funder_Laizer funder_Lake Tanganyika funder_Lake Tanganyika Basin funder_Lake Tanganyika Prodap funder_Lamp funder_Laramatak funder_Latfu funder_Lawate Fuka Water Suppl funder_Lawatefuka Water Supply funder_Lc funder_Lcdg funder_Lcgd funder_Ldcdd funder_Ldcgd funder_Lee Kang Pyung's Family funder_Legeza Legeza funder_Lench funder_Lench Taramai funder_Leopad Abeid funder_Lg funder_Lga funder_Lga And Adb funder_Lgcbg funder_Lgcd funder_Lgcdg funder_Lgcgd funder_Lgdbg funder_Lgdcg funder_Lidep funder_Lifetime funder_Lion Clu funder_Lions funder_Lions C funder_Lions Club funder_Lions Club Kilimanjaro funder_Lips funder_Lisa funder_Liuwassa funder_Livin funder_Living Water International funder_Liz funder_Lizad funder_Local funder_Loliondo Parish funder_Loliondo Secondary funder_Long Ga funder_Longido Sec School funder_Loocip funder_Losaa-kia Water Supply funder_Losakia Water Supply funder_Lotary Club funder_Lotary International funder_Lottery funder_Lottery Club funder_Louise Elucas Sala funder_Lowasa funder_Luali Kaima funder_Luchelegu Primary School funder_Luka funder_Luke Samaras Ltd funder_Lungwe funder_Lusajo funder_Luthe funder_Lutheran funder_Lutheran Church funder_Lvemp funder_Lvia funder_Lwf funder_Lwi funder_Lwi & Central Government funder_Lwiji Italy funder_M funder_M And P funder_Ma funder_Maajabu Pima funder_Maashumu Mohamed funder_Mac funder_Machibya Guma funder_Madaraweshi funder_Madra funder_Maerere funder_Mafwimbo funder_Magadini Makiwaru Water funder_Magadini-makiwaru Water funder_Magani funder_Magereza funder_Magige funder_Magoma Adp funder_Magu Food Security funder_Magul funder_Magutu Maro funder_Mahemba funder_Mahita funder_Majengo Prima funder_Maji Mugumu funder_Maju Mugumu funder_Makanga funder_Makanya Sisal Estate funder_Makapuchini funder_Makli funder_Makombo funder_Makona funder_Makondakonde Water Population funder_Makonde funder_Makonde Water Population funder_Makonde Water Supply funder_Makonder funder_Makori funder_Makoye Masanzu funder_Makundya funder_Makuru funder_Makusa funder_Malec funder_Males funder_Maliasili funder_Malola funder_Mama Ku funder_Mama Mery Nagu funder_Mamad funder_Mamaz funder_Mambe funder_Mamlaka Ya Maji Ngara funder_Mamvua Kakungu funder_Mango Tree funder_Manyota Primary School funder_Manyovu Agriculture Institute funder_Marafin funder_Marafip funder_Marke funder_Maro funder_Maro Kyariga funder_Marumbo Community funder_Masai Land funder_Maseka Community funder_Masese funder_Mashaka funder_Masista funder_Maswi Drilling Co. Ltd funder_Mataro funder_Matata Selemani funder_Matimbwa Sec funder_Matogoro funder_Matyenye funder_Mavuno Ngo funder_Maxavella funder_Mayiro funder_Mazaro Kabula funder_Mbeje funder_Mbiusa funder_Mbiuwasa funder_Mboma funder_Mboni Salehe funder_Mbozi District Council funder_Mbozi Hospital funder_Mbozi Secondary School funder_Mbunge funder_Mbuzi Mawe funder_Mbwana Omari funder_Mbwiro funder_Mchukwi Hos funder_Md funder_Mdc funder_Mdgwc funder_Mdrdp funder_Meco funder_Medicine funder_Meko Balo funder_Mem funder_Member O funder_Member Of Parliament funder_Member Of Perliament Ahmed Ali funder_Menon funder_Meru Concrete funder_Methodist Church funder_Mfuko Wa Jimbo funder_Mfuko Wa Jimbo La Magu funder_Mganga funder_Mgaya funder_Mgaya Masese funder_Mgm funder_Mh An funder_Mh Kapuya funder_Mh.Chiza funder_Mh.J S Sumari funder_Mheza Distric Counc funder_Mhina funder_Mhoranzi funder_Mhuzu funder_Mi funder_Miab funder_Mianz funder_Mikumi G funder_Milenia funder_Mileniam Project funder_Millenium funder_Minis funder_Ministry Of Agricultura funder_Ministry Of Education funder_Ministry Of Healthy funder_Ministry Of Water funder_Minjingu funder_Miomb funder_Misana George funder_Misheni funder_Misri Government funder_Missi funder_Missio funder_Mission funder_Missionaries funder_Missionary funder_Mitema funder_Miziriol funder_Mkinga Distric Cou funder_Mkinga Distric Coun funder_Mkulima funder_Mkuluku funder_Mkurugenzi funder_Mkuyu funder_Mmanya Abdallah funder_Mmem funder_Mmg Gold Mine funder_Mnyama funder_Mnyambe funder_Mnyamisi Jumaa funder_Morad funder_Moradi funder_Moravian funder_Moroil funder_Morovian funder_Morovian Church funder_Morrovian funder_Moses funder_Moshono Adp funder_Moslem Foundation funder_Mosque funder_Mosqure funder_Motiba Manyanya funder_Motiba Wambura funder_Mow funder_Moyowosi Basin funder_Mp funder_Mp Mloka funder_Mp Mzeru funder_Mrtc funder_Ms funder_Ms-danish funder_Msabi funder_Msf funder_Msf/tacare funder_Msigw funder_Msigwa funder_Msiki funder_Msikiti funder_Msikiti Masji funder_Msikitini funder_Mstiiti funder_Msudi funder_Mtambo funder_Mtc funder_Mtewe funder_Mtibwa S funder_Mtuwasa funder_Mtuwasa And Community funder_Muhameid Na funder_Muhindi funder_Muhochi Kissaka funder_Muislam funder_Muivaru funder_Mungaya funder_Municipal Council funder_Muniko funder_Musilim Agency funder_Muslim Society funder_Muslim World funder_Muslimehefen International funder_Muslims funder_Muslimu Society(shia) funder_Muwasa funder_Muwsa funder_Mwakabalula funder_Mwakalinga funder_Mwakifuna funder_Mwalimu Maneromango Muhenzi funder_Mwalimu Muhenza funder_Mwalimu Omari funder_Mwamama funder_Mwamvita Rajabu funder_Mwanaisha Mwidadi funder_Mwanamisi Ally funder_Mwanga Town Water Authority funder_Mwanza funder_Mwaya Mn funder_Mwelia Estate funder_Mwigicho funder_Mwingereza funder_Mwinjuma Mzee funder_Mwita funder_Mwita Kichere funder_Mwita Lucas funder_Mwita Machota funder_Mwita Mahiti funder_Mwita Muremi funder_Mwl. Nyerere Sec. School funder_Mwl.Mwita funder_Mws funder_Mzee Don funder_Mzee Lesilali funder_Mzee Mabena funder_Mzee Mkungata funder_Mzee Ngwatu funder_Mzee Omari funder_Mzee Salum Bakari Darus funder_Mzee Sh funder_Mzee Shindika funder_Mzee Smith funder_Mzee Waziri Tajari funder_Mzee Yassin Naya funder_Mzinga A funder_Mzung funder_Mzungu funder_Mzungu Paul funder_Nado funder_Namungo Miners funder_Nasan funder_Nassan funder_Nassor Fehed funder_Natherland funder_Natio funder_National Park funder_National Rural funder_National Rural (wb) funder_National Rural And Hfa funder_Nazalet Church funder_Nazaleti funder_Nazareth Church funder_Ncaa funder_Nchagwa funder_Ncs funder_Nddp funder_Ndm funder_Ndolezi funder_Ndorobo Tours funder_Ndrdp funder_Nduku Village funder_Neemia Mission funder_Nerthlands funder_Nethalan funder_Nethe funder_Netherla funder_Netherland funder_Netherlands funder_Ngelepo Group funder_Nginila funder_Ngiresi Village Community funder_Ngo funder_Ngos funder_Ngumi funder_Niger funder_Nimrodi Mkono[mb] funder_Nipon & Panoco funder_Nirad funder_Njula funder_Nk funder_Nmdc India funder_No funder_Noeli Mahobokela funder_None funder_Norad funder_Norad /government funder_Norad/ Kidep funder_Norad/ Tassaf funder_Norad/ Tassaf Ii funder_Norad/government funder_Norad/japan funder_Norad/rudep funder_Norani funder_Nordic funder_Norplan funder_Norway Aid funder_Noshad funder_Noshadi funder_Not Known funder_Nrwssp funder_Nsc funder_Nssf funder_Nwssp funder_Nyabarongo Kegoro funder_Nyabibuye Islamic Center funder_Nyabweta funder_Nyahale funder_Nyakaho Mwita funder_Nyamasagi funder_Nyamingu Subvillage funder_Nyamongo Gold Mining funder_Nyamuhanga Maro funder_Nyangere funder_Nyanza Road funder_Nyeisa funder_Nyitamboka funder_O funder_Oak'zion' And Bugango B' Commu funder_Obadia funder_Obc funder_Oda funder_Oikos funder_Oikos E .Africa/european Union funder_Oikos E.Africa/ European Union funder_Oikos E.Africa/european Union funder_Oikos E.Afrika funder_Okutu Village Community funder_Ola funder_Old Nyika Company funder_Oldadai Village Community funder_Oldonyolengai funder_Olgilai Village Community funder_Olumuro funder_Omar Ally funder_Omar Rafael funder_Omary Issa funder_One Desk One Chair funder_One Un funder_Opec funder_Orphanage funder_Otelo Bussiness Company funder_Others funder_Othod funder_Overland High School funder_Overnment funder_Owner Pingo C funder_Ox funder_Oxfam funder_Oxfam Gb funder_Oxfarm funder_Oxfarm Gb funder_P funder_Pad funder_Padep funder_Padep(mifugo) funder_Padi funder_Padri funder_Padri K funder_Padri Matayo funder_Paffect Mwanaindi funder_Pag Church funder_Pancrasi funder_Pangadeco funder_Pankrasi funder_Panone funder_Parastatal funder_Parastatal An funder_Partage funder_Paskali funder_Pataji funder_Patrick funder_Patuu funder_Paulo Sange funder_Pci funder_Pdi funder_Peace Cope funder_Pema funder_Pentecost funder_Pentecosta Church funder_Pentecosta Seela funder_Pentecostal funder_Pentecostal Church funder_Pentecostal Hagana Sweeden funder_Pentekoste funder_People From Egypt funder_People From Japan funder_People Of Japan funder_People Of Sweden funder_Perusi Bhoke funder_Peter funder_Peter Mayiro funder_Peter Ngereka funder_Peter Tesha funder_Peters funder_Petro Patrice funder_Pidp funder_Piscop funder_Piscope funder_Pius Msekwa funder_Piusi funder_Plan funder_Plan Int funder_Plan Internatio funder_Plan International funder_Plan Tanzania funder_Pmo funder_Po funder_Poland Sec School funder_Pori La Akiba Kigosi funder_Pr funder_Presadom funder_Prf funder_Primo Zunda funder_Prince Medium School funder_Priva funder_Private funder_Private Co funder_Private Individual funder_Private Individul funder_Private Institutions funder_Private Owned funder_Private Person funder_Prodap funder_Prof. Saluati funder_Professor Ben Ohio University funder_Pwagu funder_Pwc funder_Q-sem Ltd funder_Quick funder_Quick Win funder_Quick Win Project funder_Quick Win Project /council funder_Quick Win/halmashauri funder_Quick Wings funder_Quick Wins funder_Quick Wins Scheme funder_Quicklw funder_Quickwi funder_Quickwins funder_Quik funder_Quwkwin funder_Qwckwin funder_Qwekwin funder_Qwick Win funder_Qwickwin funder_Qwiqwi funder_R funder_Rada funder_Rafael Michael funder_Rafik funder_Railway funder_Rajab Seleman funder_Rajabu Athumani funder_Ramadhani M. Mvugalo funder_Ramadhani Nyambizi funder_Ramsar funder_Raramataki funder_Rarymond Ekura funder_Ras funder_Rashid funder_Rashid Mahongwe funder_Rashid Seng'ombe funder_Raurensia funder_Rc funder_Rc Cathoric funder_Rc Ch funder_Rc Churc funder_Rc Church funder_Rc Church/centr funder_Rc Mi funder_Rc Missi funder_Rc Mission funder_Rc Missionary funder_Rc Mofu funder_Rc Msufi funder_Rc Njoro funder_Rc/dwe funder_Rc/mission funder_Rcchurch/cefa funder_Rdc funder_Rdws funder_Re funder_Red Cross funder_Redap funder_Redcross funder_Redekop Digloria funder_Redep funder_Redeso funder_Redet funder_Regina Group funder_Regional Water Engineer Arusha funder_Regwa Company Of Egpty funder_Regwa Company Of Egypt funder_Resolute funder_Resolute Golden Pride Project funder_Resolute Mining funder_Resolute Mininggolden Pride funder_Revocatus Mahatane funder_Rhobi funder_Rhobi Wambura funder_Richard M.Kyore funder_Ridep funder_Rilayo Water Project funder_Ringo funder_Ripati funder_Rips funder_Rished funder_Ro funder_Robert Kampala funder_Robert Loyal funder_Robert Mosi funder_Rocci Ross funder_Rodri funder_Romam Catholic funder_Roman funder_Roman Ca funder_Roman Catholic funder_Roman Catholic Rulenge Diocese funder_Roman Cathoric funder_Roman Cathoric -kilomeni funder_Roman Cathoric Church funder_Roman Cathoric Same funder_Roman Cathoric-same funder_Roman Church funder_Rombo Dalta funder_Rotary funder_Rotary Club funder_Rotary Club Australia funder_Rotary Club Kitchener funder_Rotary Club Of Chico And Moshi funder_Rotary Club Of Usa And Moshi funder_Rotary I funder_Rotaty Club funder_Rotery C funder_Rotte funder_Rssp funder_Ru funder_Ruangwa Lga funder_Rudep funder_Rudep /dwe funder_Rudep/norad funder_Rudri funder_Rumaki funder_Runda funder_Rundu Man funder_Runduman funder_Ruped funder_Rural funder_Rural Drinking Water Supply funder_Rural Water Department funder_Rural Water Supply funder_Rural Water Supply And Sanita funder_Rural Water Supply And Sanitat funder_Rusumo Game Reserve funder_Ruthe funder_Ruvu Darajani funder_Rv funder_Rvemp funder_Rwi funder_Rwsp funder_Rwsso funder_Rwssp funder_Rwssp Shinyanga funder_Rwssp/wsdp funder_Rwsssp funder_S funder_S. Kumar funder_S.P.C Pre-primary School funder_S.S Mohamed funder_Sabemo funder_Sabodo funder_Sadaqatun Jar funder_Safari Camp funder_Safari Roya funder_Sagaswe funder_Said Hashim funder_Said Omari funder_Said Salum Ally funder_Saidi Halfani funder_Sakwidi funder_Salamu Kita funder_Saleh Zaharani funder_Salehe funder_Salim Ahmed Salim funder_Salum Tambalizeni funder_Samlo funder_Samsoni funder_Samwel funder_Samweli funder_Samweli Kitana funder_Samweli Mshosha funder_San Pellegrino funder_Sangea District Council funder_Sanje Wa funder_Sao H funder_Saudia funder_Sauwasa funder_Save The Rain Usa funder_Sawaka funder_Scharnhorstgymnasium funder_Scholastica Pankrasi funder_Schoo funder_School funder_School Adm9nstrarion funder_Scott funder_Sda funder_Sda Church funder_Sdg funder_Sdp funder_Secondary funder_Secondary Schoo funder_Segera Estate funder_Seif Ndago funder_Sekei Village Community funder_Sekondari funder_Seleman Masoud funder_Seleman Rashid funder_Seleman Seif funder_Selestine Mganga funder_Selikali Ya Kijiji funder_Selous G funder_Sema funder_Sema S funder_Semaki funder_Semaki K funder_Senapa funder_Sengerema District Council funder_Sent Tho funder_Seram funder_Serena funder_Serian funder_Serikali funder_Serikali Ya Kijiji funder_Serikari funder_Serikaru funder_Seronera funder_Shabani Dunia funder_Shamte Said funder_Shanta funder_Sharifa Athuman funder_Shawasa funder_Shear Muslim funder_Shekhe funder_Shelisheli Commission funder_Shinyanga Shallow Wells funder_Shipo funder_Shirika La Kinamama Na Watot funder_Shule funder_Shule Ya Msingi funder_Shule Ya Msingi Ufala funder_Shule Ya Sekondari Ipuli funder_Si funder_Sida funder_Sido funder_Sijm funder_Silinda Yetu funder_Silvester Shilingi funder_Simango Kihengu funder_Simav funder_Simavi funder_Simba Lodge funder_Simmors funder_Simon Lusambi funder_Simone funder_Sindida Yetu funder_Singasinga funder_Singida Yetu funder_Singsinga funder_Sipdo funder_Sisa funder_Sisal Estste Hale funder_Siss M. Minghetti funder_Sister Francis funder_Sister Makulata funder_Siter Fransis funder_Siza Mayengo funder_Snv funder_Snv Ltd funder_Snv-swash funder_Sobodo funder_Socie funder_Soda funder_Soko La Magomeni funder_Solar Villa funder_Solidame funder_Solidarm funder_Soliderm funder_Songa Hospi funder_Songas funder_Songea District Council funder_Songea Municipal Counci funder_Sophia Wazir funder_Sowasa funder_Sswp funder_St funder_St Elizabeth Majengo funder_St Gasper funder_St Magreth Church funder_St Ph funder_Stabex funder_Staford Higima funder_Stansilaus funder_Stantons funder_Stephano funder_Stephano Paulo funder_Steven Nyangarika funder_Stp-sustainable Tan funder_Su-ki Jang funder_Sua funder_Suasa funder_Subvillage funder_Sumbawanga Munici funder_Summit For Water funder_Sumo funder_Sumriy funder_Sun-ja Na funder_Sunamco funder_Suwasa funder_Svn funder_Sw funder_Swalehe Rajab funder_Swash funder_Sweden funder_Swedish funder_Sweeden funder_Swidish funder_Swifti funder_Swisland/ Mount Meru Flowers funder_Swisland/mount Meru Flowers funder_Swiss If funder_Swiss Tr funder_T funder_Ta funder_Taasaf funder_Tabea funder_Taboma funder_Tabora Municipal Council funder_Tabraki funder_Tacare funder_Tacri funder_Tadeo funder_Tadepa funder_Tado funder_Taees funder_Taes funder_Tag funder_Tag Church funder_Tag Church Ub funder_Tag Patmo's funder_Tahea funder_Taipo funder_Tajiri Jumbe Lila funder_Tanap funder_Tanapa funder_Tancan funder_Tancro funder_Tanedaps Society funder_Tanesco funder_Tanga Cement funder_Tanload funder_Tanroad funder_Tansi funder_Tanz Egypt Technical Cooper funder_Tanz/egypt Technical Co-op funder_Tanza funder_Tanzakesho funder_Tanzaling funder_Tanzania funder_Tanzania /egypt funder_Tanzania Compasion funder_Tanzania Egypt Technical Co Op funder_Tanzania Journey funder_Tarangire Park funder_Tardo funder_Tareto funder_Tasa funder_Tasad funder_Tasae funder_Tasaf funder_Tasaf 1 funder_Tasaf And Lga funder_Tasaf And Mmem funder_Tasaf Ii funder_Tasaf/dmdd funder_Tasaf/tlc funder_Tasafu funder_Tasef funder_Tasf funder_Tassaf funder_Tassaf I funder_Tassaf Ii funder_Tassaf/ Danida funder_Tbl funder_Tcrs funder_Tcrs /care funder_Tcrs /government funder_Tcrs Kibondo funder_Tcrs.Tlc funder_Tcrs/care funder_Tcrs/village Community funder_Tcrst funder_Tdft funder_Tdrs funder_Team Rafiki funder_Tempo funder_Ten Degree Hotel funder_Teonas Wambura funder_Teresa Munyama funder_Tgrs funder_Tgt funder_Tgts funder_Tgz funder_The Desk And Chair Foundat funder_The Isla funder_The Islamic funder_The People Of Japan funder_Theo funder_Theonas Mnyama funder_Thomasi Busigaye funder_Timothy Shindika funder_Tina/africare funder_Tingatinga Sec School funder_Tirdo funder_Tkc funder_Tlc funder_Tlc/community funder_Tlc/emmanuel Kasoga funder_Tlc/jenus Malecha funder_Tlc/john Majala funder_Tlc/nyengesa Masanja funder_Tlc/samora funder_Tlc/seleman Mang'ombe funder_Tlc/sorri funder_Tlc/thimotheo Masunga funder_Tltc funder_Tom funder_Toronto-estate funder_Total Land Care funder_Total Landcare funder_Totaland Care funder_Totoland funder_Totoland Care funder_Tove funder_Town Council funder_Tpp funder_Tquick Wings funder_Trach funder_Trachoma funder_Trc funder_Tredep funder_Tredsp funder_Tree Ways German funder_Treedap funder_Tridep funder_Tulawaka Gold Mine funder_Tumaini Fund funder_Tuwasa funder_Twe funder_Twende Pamoja funder_Twesa funder_Twice funder_Twig funder_Tz As funder_Tz Japan funder_U.S.A funder_Uaacc funder_Ubalozi Wa Japani funder_Ubalozi Wa Marekani funder_Udc/sema funder_Uhai Wa Mama Na Mtoto funder_Uhoranzi funder_Ukida funder_Ukiligu funder_Umoja funder_Un funder_Un Habitat funder_Un/wfp funder_Undp funder_Undp/aict funder_Undp/ilo funder_Unesco funder_Unhcr funder_Unhcr/danida funder_Unhcr/government funder_Unice funder_Unice/ Cspd funder_Unicef funder_Unicef/ Csp funder_Unicef/african Muslim Agency funder_Unicef/central funder_Unicef/cspd funder_Uniceg funder_Unicet funder_Unicrf funder_Uniseg funder_Unknown funder_Unp/aict funder_Upendo Primary School funder_Upper Ruvu funder_Ur funder_Urt funder_Us Embassy funder_Usa Embassy funder_Usaid funder_Usaid/wfp funder_Usambala Sister funder_Ustawi funder_Uvimaki funder_Uyoge funder_Vc funder_Veo funder_Vgovernment funder_Vi funder_Vicfish funder_Vicfish Ltd funder_Vickfis funder_Vifaf funder_Vifafi funder_Vififi funder_Villa funder_Villaers funder_Village funder_Village Communi funder_Village Community funder_Village Contributio funder_Village Council funder_Village Council/ Haydom Luther funder_Village Council/ Rose Kawala funder_Village Fund funder_Village Government funder_Village Govt funder_Village Office funder_Village Res funder_Village Water Commission funder_Villagers funder_Villagers Mpi funder_Villages funder_Villege Council funder_Villegers funder_Villlage Contributi funder_Vn funder_Vodacom funder_Vttp funder_Vw funder_Vwc funder_Vwcvc funder_Vwcvwc funder_Vwt funder_W funder_W.B funder_W.C.S funder_W.D & funder_W.D & I. funder_W.D.&.I. funder_W.F.D.P funder_Wafidhi Wa Ziwa T funder_Waheke funder_Wahidi funder_Waitaliano funder_Wajerumani funder_Walokole funder_Wama funder_Wamakapuchini funder_Wamarekani funder_Wame Mbiki funder_Wamisionari Wa Kikatoriki funder_Wamissionari Wa Kikatoriki funder_Wanakijiji funder_Wanan funder_Wananchi funder_Wanginyi Water funder_Wards funder_Warento funder_Wate Aid/sema funder_Water funder_Water /sema funder_Water Aid /sema funder_Water Aid/dwe funder_Water Aid/sema funder_Water Authority funder_Water Board funder_Water Department funder_Water Project Mbawala Chini funder_Water Se funder_Water Sector Development funder_Water User As funder_Water User Group funder_Wateraid funder_Watu Wa Marekani funder_Watu Wa Ujerumani funder_Wb / District Council funder_Wbk funder_Wcst funder_Wd And Id funder_Wdp funder_Wdsp funder_Weepers funder_Wfp funder_Wfp/tnt funder_Wfp/tnt/usaid funder_Wfp/usaid funder_Wfp/usaid/tnt funder_William Acleus funder_Williamson Diamond Ltd funder_Wilson funder_Winkyens funder_Wirara Ya Maji funder_Wizara funder_Women Fo Partnership funder_Women For Partnership funder_World Bank funder_World Bank/government funder_World Vision funder_World Vision/ Kkkt funder_World Vision/adra funder_World Vision/rc Church funder_Worldvision funder_Woyege funder_Wrssp funder_Wsdo funder_Wsdp funder_Wsdp & Sdg funder_Wspd funder_Wssp funder_Wua funder_Wua And Ded funder_Wug And Ded funder_Wvc funder_Wvt funder_Wwf funder_Wwf / Fores funder_Yaole funder_Yasi Naini funder_Yasini funder_Yasini Selemani funder_Zaben funder_Zaburi And Neig funder_Zao funder_Zao Water Spring funder_Zao Water Spring X funder_Zinduka funder_Zingibali Secondary funder_funder_missing installer_- installer_0 installer_A.D.B installer_AAR installer_ABASIA installer_ABD installer_ABDALA installer_ABDUL installer_AC installer_ACORD installer_ACRA installer_ACT installer_ACT MARA installer_ACTION AID installer_ACTIVE TANK CO installer_ACTIVE TANK CO LTD installer_AD installer_ADAP installer_ADB installer_ADP installer_ADP Busangi installer_ADRA installer_ADRA /Government installer_ADRA/Government installer_AF installer_AFRICA installer_AFRICA MUSLIM installer_AFRICAN DEVELOPMENT FOUNDATION installer_AFRICAN REFLECTIONS FOUNDATION installer_AGRICAN installer_AI installer_AIC installer_AIC KI installer_AICT installer_AIMGOLD installer_AIXOS installer_ALIA installer_ALLYS installer_AMP Contract installer_AMP Contracts installer_AMP contractor installer_AMREF installer_ANGLI installer_ANGLIKANA CHURCH installer_ANGRIKANA installer_ANSWAR installer_APM installer_AQAL installer_AQUA BLUES ANGELS installer_AQUA WEL installer_AQUA Wat installer_AQUA Wel installer_AQUARMAN DRILLERS installer_ASDP installer_ATIGH BUILDINGS installer_AUSTRALIA installer_AUWASA installer_Aartisa installer_Abdallah Ally Wazir installer_Accra installer_Action Aid installer_Action Contre La Faim installer_Action Contre la Faim installer_Active KMK installer_Active MKM installer_Adam installer_Adam Kea installer_Adam mualuaka installer_Adra installer_Adra /Community installer_Adra/ Community installer_Adra/Community installer_Adrs installer_Af installer_Africa installer_Africa Amini Alama installer_Africa Islamic Agency Tanzania installer_Africa M installer_Africa Muslim Agenc installer_African Muslims Age installer_African Realief Committe of Ku installer_Africaone installer_Africaone Ltd installer_Africare installer_Afroz Ismail installer_Ahmad installer_Al Ha installer_Alex moyela installer_Altai Co. ltd installer_Amadi installer_Amari installer_Amboni Plantation installer_Amboni plantation installer_Ambrose installer_Amec installer_American installer_Amref installer_Angli installer_Anglica Church installer_Anglican installer_Anglican Church installer_Anglican Uganda installer_Anglican church installer_Anglikan installer_Anglikana installer_Angrikana installer_Ansnani Murij installer_Aqual installer_Aqwaman Drilling installer_Ar installer_Arab community installer_Arabs Community installer_Ardhi Instute installer_Ardhi Water Wells installer_Ardhi Water well installer_Ardhi and PET Companies installer_Ardhi water well installer_Arisan installer_Arrian installer_Artisan installer_Athumani Janguo installer_Athumani Issa installer_Atisan installer_Atlas installer_Atlas Company installer_B.A.P installer_BABTEST installer_BALYEH installer_BAPTIST CHURCH installer_BAPTIST CHURCH OF TANZANIA installer_BATIST CHURCH installer_BEMANDA installer_BENGUKA installer_BESADA installer_BESADO installer_BFFS installer_BGM installer_BGSS installer_BILILA installer_BIORE installer_BKHWS installer_BOAZI installer_BOMA SAVING installer_BR installer_BRA installer_BRUDER installer_BSF installer_BUKUMB installer_BUMABU installer_Baadela installer_Babu Sajin installer_Babu Sajini installer_Bahresa installer_Bao installer_Baric installer_Barry A. Murphy installer_Belgiam Government installer_Belgij installer_Benjamin installer_Bhoke Mwita installer_Billy Phillips installer_Bingo foundation installer_Bingo foundation Germany installer_BioRe installer_Biore installer_Birage installer_Bobby installer_Bokera W installer_Boni installer_Bonite Bottles Ltd installer_Brad installer_Bridge north installer_Britain installer_British installer_British colonial government installer_British government installer_Buguba installer_Building works Company Ltd installer_Building works engineering Ltd installer_Bulyahunlu Gold Mine installer_Buruba installer_Busoga trust installer_C installer_CALTAZ KAHAMA installer_CAP installer_CARE installer_CARE/CIPRO installer_CARITAS installer_CARTAS installer_CARTAS Tanzania installer_CBHCC installer_CCEC installer_CCP installer_CCPK installer_CCPS installer_CCT installer_CDT installer_CDTF installer_CEFA installer_CEFA/rc church installer_CENTRAL GOVERNMENT installer_CES installer_CF Builders installer_CG installer_CG/RC installer_CGI installer_CH installer_CHANDE CO installer_CHANI installer_CHELA installer_CHENI installer_CHINA installer_CHINA Co. installer_CHINA HENAN CONSTUCTION installer_CHINA HENAN CONTRACTOR installer_CHONJA CHARLES installer_CHRISTAN OUTRICH installer_CHRISTIAN OUTRICH installer_CHURC installer_CIP installer_CIPRO installer_CIPRO/CARE installer_CIPRO/CARE/TCRS installer_CIPRO/Government installer_CITIZEN ENGINE installer_CJEJ0 installer_CJEJOW installer_CJEJOW CONSTRUCTION installer_CMSR installer_COBASHEC installer_COCANE installer_COCU installer_COEK installer_COEW installer_COMMU installer_COMMUNITY installer_COMMUNITY BANK installer_COMPASION INTERNATIO installer_CONCE installer_CONCERN installer_CONS installer_COSMOS ENG LTD installer_COUN installer_COW installer_COWI installer_COYI installer_CPRO installer_CRAELIUS installer_CRISTAN OUTRICH installer_CRS installer_CSPD installer_CVS Miss installer_Caltas installer_Caltus installer_Calvary connection installer_Camartec installer_Canada na Tanzania installer_Canop installer_Care international installer_Care international installer_Carmatech installer_Cast installer_Cathoric installer_Ce installer_Cebtral Government installer_Cefa installer_Cental Government installer_Centr installer_Centra Government installer_Centra govt installer_Central Government installer_Central basin installer_Central government installer_Central govt installer_Cetral government /RC installer_Ch installer_Chacha installer_Chacha Issame installer_Chama cha Ushirika installer_Chamavita installer_Charlotte Well installer_Chiko installer_China installer_Chinese installer_Christina Magoge installer_Christopher installer_Chuo installer_Chur installer_Church installer_Church Of Disciples installer_Cida installer_Clause workers installer_Claver installer_Co installer_College installer_Colonial Government installer_Colonial government installer_Commu installer_Communit installer_Community installer_Compa installer_Company installer_Comunity installer_Conce installer_Concen installer_Concern installer_Concern /government installer_Concern/Government installer_Cons installer_Consultant installer_Consultant Engineer installer_Consultant and DWE installer_Consulting Engineer installer_Consulting engineer installer_Consuting Engineer installer_Conta installer_Contr installer_Cosmo installer_Cosmos Engineering installer_Coun installer_Counc installer_Council installer_Crety installer_Cultus installer_D installer_D$L installer_DA installer_DADIS installer_DADP installer_DADS installer_DADS/Village community installer_DADS/village Community installer_DADS/village community installer_DAK installer_DALDO installer_DANIAD installer_DANID installer_DANIDA installer_DANIDA CO installer_DANIDS installer_DANNIDA installer_DANNY installer_DAR ES SALAAM ROUND TABLE installer_DARDO installer_DASIP installer_DASP installer_DASSIP installer_DAWASA installer_DAWASCO installer_DAWE installer_DBFPE installer_DBSP installer_DBSPE installer_DCCA installer_DCT installer_DDCA installer_DDCA CO installer_DDP installer_DDSA installer_DE installer_DED installer_DEE installer_DENISH installer_DESK A installer_DESK C installer_DESK a installer_DEW installer_DFID installer_DH installer_DHV installer_DHV Moro installer_DIMON installer_DIOCESE OF MOUNT KILIMANJARO installer_DISTRICT COUNCIL installer_DIWANI installer_DMDD installer_DMDD/SOLIDER installer_DMK installer_DMMD installer_DO installer_DODDEA installer_DSP installer_DSPU installer_DSV installer_DUWAS installer_DV installer_DW installer_DW E installer_DW# installer_DW$ installer_DWE installer_DWE & LWI installer_DWE /TASSAF installer_DWE& installer_DWE/ installer_DWE/Anglican church installer_DWE/TASSAF installer_DWE/Ubalozi wa Marekani installer_DWEB installer_DWE} installer_DWR installer_DWSP installer_DWT installer_DWW installer_Da installer_Danda installer_Danid installer_Daniel installer_Dar es salaam Technician installer_Dawasco installer_Deogra installer_Desk and chair foundation installer_Deus Ndege installer_Dhinu installer_Di installer_Dina installer_Diocese of Geita installer_Distri installer_Distric Water Department installer_District Council installer_District COUNCIL installer_District Community j installer_District Counci installer_District Council installer_District Water Department installer_District council installer_District water depar installer_District water department installer_Diwani installer_Dmdd installer_Do installer_Dokta Mwandulami installer_Domnik installer_Dr. Matobola installer_Dr. Matomola installer_Dr.Matobola installer_Dr.Matomola installer_Dwe installer_Dydrotec installer_E ETO installer_EA installer_ECO LODGE installer_EF installer_EFAM installer_EFG installer_EGYPT installer_EGYPT REGWA installer_EL installer_ELCA installer_ELCT installer_EMANDA installer_EMANDA BUILDERS installer_EMAYO installer_ENGINEERS WITHOUT BORDER installer_ENO installer_ERETO installer_ESAWA installer_EWE installer_Eastmeru medium School installer_Edward installer_Efarm installer_Egypt Government installer_Egypt Technical Co Operation installer_Elias Mahemba installer_Elina installer_Elius Chacha installer_Eliza installer_Embasy of Japan in Tanzania installer_Emmanuel Kiswagala installer_Emmanuel kitaponda installer_Engarasero villagers installer_Engin installer_Enyuati installer_Enyueti installer_Ester Ndege installer_European Union installer_Exaud Msambwa installer_F installer_FAO installer_FARM-AFRICA installer_FAUSTINE installer_FIDA installer_FILEX MUGANGA installer_FIN WATER installer_FINI WATER installer_FINI Water installer_FINLAND installer_FINN WATER installer_FLORESTA installer_FOLAC installer_FPCT installer_FPCT Church installer_FPTC installer_FRANKFURT installer_FRESH WATER PLC ENGLAND installer_FURAHIA TRADING installer_FW installer_Fabia installer_Farm Africa installer_Fathe installer_Faudh Tamimu installer_FiNI WATER installer_Filber installer_Fin Water installer_Fin water installer_FinW installer_FinWate installer_FinWater installer_Fini Water installer_Fini water installer_Finland Government installer_Finwater installer_Foreigne installer_Free Pentecoste Church of Tanz installer_Frida mokeki installer_Friedkin conservation fund installer_Friend from UN installer_G.D&I.D installer_GACHUMA CONSTRUCTION installer_GACHUMA GINERY installer_GAICA installer_GD&ID installer_GDP installer_GEN installer_GEOCHAINA installer_GEOTAN installer_GERMAN installer_GERMAN MISSIONSRY installer_GERMANY MISSIONARY installer_GETDSC00 installer_GGM installer_GIDA contractor installer_GLOBAL RESOURCE CO installer_GLOBAL RESOURCE CONSTRUCTION installer_GOVER installer_GOVERM installer_GOVERN installer_GOVERNME installer_GOVERNMENT installer_GRA installer_GRA TZ MUSOMA installer_GREINAKER installer_GREINEKER installer_GRUMENTI installer_GRUMET installer_GRUMETI installer_GRUMETI SINGITA installer_GTZ installer_GURUMETI SAGITA installer_GURUMETI SAGITA CO installer_Ga installer_Gain installer_Geita Goldmain installer_George installer_George mtoto installer_George mtoto company installer_Gerald installer_Gerald Mila installer_Germany installer_Gesine installer_Getekwe installer_Go installer_Gold star installer_Goldmain installer_Goldstar installer_Goldwill foundation installer_Got installer_Gove installer_Gover installer_Governme installer_Governmen installer_Government installer_Government /Community installer_Government /SDA installer_Government /TCRS installer_Government /World Vision installer_Government and Community installer_Government of Misri installer_Government/TCRS installer_Grail Mission Kiseki bar installer_Great Lakes installer_Greec installer_Green installer_Grobal resource alliance installer_Grobal resource alliance installer_Grumeti fund installer_Gtz installer_Gwasco installer_Gwasco L installer_Gwaseco installer_H installer_H4CCP installer_HAAM installer_HAIDOMU LUTHERAN CHURCH installer_HAM installer_HAPA installer_HAPA SINGIDA installer_HASHI installer_HAYDOM LUTHERAN HOSPITAL installer_HDV installer_HE installer_HEESAW installer_HESAW installer_HESAWA installer_HESAWQ installer_HESAWS installer_HESAWZ installer_HIAP installer_HOLAND installer_HOLLAND installer_HOTEL AND LODGE TANZANIA installer_HOTELS AND LOGGS TZ LTD installer_HOWARD HUMFREYS installer_HPA installer_HSW installer_HW/RC installer_Ha installer_Halimashauli installer_Halmashauli installer_Halmashauri installer_Halmashauri wilaya installer_Halmashauri ya manispa tabora installer_Halmashauri ya manispa tabora installer_Halmashauri ya mburu installer_Halmashauri ya wilaya installer_Halmashauri ya wilaya sikonge installer_Halmashauri/Quick win project installer_Hamis Makombo installer_Hamisi Fidia installer_Handeni Trunk Main installer_Handeni Trunk Main( installer_Hanja installer_Hanja Lt installer_Hans installer_Happy watoto foundation installer_Hasawa installer_Hasnein Murij installer_Healt installer_Hearts helping hands.Inc. installer_Hemed Abdalkah installer_Hemed Abdallah installer_Henure Dema installer_Heri mission installer_Hery installer_HesaWa installer_Hesawa installer_Hesawz installer_Hesewa installer_Hilfe Fur Bruder installer_Hindu installer_Holili water supply installer_Hospi installer_Hospital installer_Howard and Humfrey Consultants installer_Howard and humfrey consultant installer_Huches installer_Humfreys Co installer_Hussein Ayubu installer_Hydom Luthelani installer_Hydrotec installer_I.E.C installer_IADO installer_ICAP installer_ICF/TWESA installer_ICS installer_IDARA installer_IDC installer_IDEA installer_IDYDC installer_IFAD installer_ILCT installer_IN installer_INDIVIDUAL installer_INDIVIDUALS installer_IRAN GOVERN installer_IRC installer_IREVEA SISTER installer_IS installer_ISF installer_ISF / TASAFF installer_ISF and TACARE installer_ISF/Government installer_ISF/TACARE installer_ISSAA KANYANGE installer_ISSAC MOLLEL installer_ISSAC MOLLEl installer_ITALI installer_IUCN installer_Icf installer_Idara ya Maji installer_Idara ya maji installer_Ifakara installer_Igolola community installer_Ikela Wa installer_Ilaramataki installer_Ilolangulu water supply installer_Ilwilo community installer_In installer_Indi installer_India installer_Indiv installer_Individual installer_Individuals installer_Insititutiona installer_Institution installer_Institutional installer_Inter installer_Internal Drainage Basin installer_International Aid Services installer_Inves installer_Ir installer_Is installer_Islam installer_Islamic installer_Islamic Agency Tanzania installer_Islamic community installer_Issa Mohamedi Tumwanga installer_Italian government installer_Italy government installer_J LH CO LTD installer_J mal Abdallah installer_J. Mc installer_JACKSON MAHAMBO installer_JAICA installer_JAICA CO installer_JALCA installer_JANDU installer_JANDU PLUMBER CO installer_JANDU PLUMBER CO installer_JAPAN installer_JAPAN EMBASSY installer_JAWABU installer_JBG installer_JESHI LA WOKOVU installer_JHL CO LTD installer_JI installer_JICA installer_JIKA installer_JLH CO LTD installer_JSICA installer_JUIN installer_JUIN CO installer_JUINE CO installer_JWTZ installer_Ja installer_Jacks installer_Jackson Makore installer_Jafary Mbaga installer_Jaica installer_Japan installer_Japan Government installer_Jeica installer_Jerem installer_Jeshi la Wokovu installer_Jeshi la wokovu installer_Jeshi la wokovu [cida] installer_Jica installer_Jicks installer_Jika installer_Jiks installer_Jimmy installer_John gemuta co installer_John kiminda co installer_Joseph nkunda installer_Ju installer_Judge Mchome installer_Juma installer_Juma Makulilo installer_Juma Maro installer_Juma Ndege installer_Jumaa installer_Jumanne installer_Jumanne Siabo installer_Jumuhia installer_Jumuiya installer_Justine Marwa installer_K installer_K/Primary installer_KA installer_KADP installer_KAEM installer_KAEMP installer_KAGERA MINE installer_KARUMBA BIULDIN installer_KARUMBA BIULDING COMPANY LTD installer_KARUMBA BIULDING CONTRACTOR installer_KARUMBA BUILDING COMPANY LTD installer_KASHERE installer_KASHWA installer_KAWINGA installer_KAYEMPU LTD installer_KC installer_KDC installer_KDPA installer_KEREBUKA installer_KIBO installer_KIDIJAS installer_KIDP installer_KILANGANI CO installer_KILI WATER installer_KILL WATER installer_KIM KIM CONSTRUCTION installer_KIMKUM installer_KINAPA installer_KISIRIRI ADP installer_KIUMA installer_KK installer_KKKT installer_KKKT CHURCH installer_KKKT Canal installer_KKKT DME installer_KKKT Katiti juu installer_KKKT Kilinga installer_KKKT Leguruki installer_KKKT MAREU installer_KKKT Ndrumangeni installer_KKKT _ Konde and DWE installer_KKKT-Dioces ya Pare installer_KKT installer_KKT C installer_KMCL installer_KMT installer_KOBERG installer_KOBERG Contractor installer_KOICA installer_KONOIKE installer_KOREA installer_KORKONEL installer_KOWI installer_KOYI installer_KTA C installer_KU installer_KUMKUM installer_KURRP installer_KUWAIT installer_KUWASA installer_KWIKWIZ installer_KYASHA ENTERPR installer_KYASHA ENTREPR installer_KYELA_MOROGORO installer_Kaembe installer_Kagulo installer_Kagunguli Secondary installer_Kahema installer_Kajima installer_Kalago enterprises Co.Ltd installer_Kalitasi installer_Kalitesi installer_Kalta installer_Kalugendo installer_Kalumbwa installer_Kaluwike installer_Kamama installer_Kamata project installer_Kambi Migoko installer_Kanamama installer_Kando installer_Kanisa installer_Kanisa katoliki installer_Kanisa la TAG installer_Kanisani installer_Kapelo installer_Karugendo installer_Kassim installer_Kata installer_Kauzeni installer_Ki installer_Kibaha Town Council installer_Kibo potry installer_Kidika installer_Kigoma municipal installer_Kigwa installer_Kijiji installer_Kikom installer_Kiliflora installer_Kilimarondo Parish installer_Kiliwater installer_Kiliwater r installer_Killflora /Community installer_Killflora/ Community installer_Kilol installer_Kilolo Star installer_Kilomber installer_Kilwa company installer_Kilwater installer_Kindoroko water project installer_Kinga installer_Kirdep installer_Kitiangare village community installer_Kitukuni water supply installer_Kiwanda cha Ngozi installer_Kizenga installer_KkKT installer_Kkkt installer_Ko installer_Kokeni installer_Konoike installer_Korogwe water works installer_Kuamu installer_Kuji foundation installer_Kuwait installer_Kuwaiti installer_Kuweit installer_Kwamdulu estate installer_Kwasenenge Group installer_Kyariga installer_L installer_LAMP installer_LC installer_LDEP installer_LEI installer_LENCH installer_LGA installer_LGCDG installer_LGQ installer_LINDALA CO installer_LION'S installer_LIPS installer_LIUWASSA installer_LIVI installer_LIZAD installer_LOCAL CONTRACT installer_LOLMOLOKI installer_LOMOLOKI installer_LONGIDO SEC SCHOOL installer_LOOCIP installer_LUKE SAMARAS LTD installer_LUNGWE installer_LUWASSA installer_LVA Ltd installer_LVIA installer_LWI installer_LWI &CENTRAL GOVERNMENT installer_Laizer installer_Laramatak installer_Latifu installer_Lawate fuka water su installer_Lawatefuka water sup installer_Leopad Abeid installer_Lga installer_Li installer_Linda installer_Lindi contractor installer_Lindi rural water department installer_Lion's installer_Lion's club installer_Lions club kilimanjaro installer_Livi installer_Living water international installer_Local installer_Local technician installer_Local l technician installer_Local te installer_Local technical installer_Local technical tec installer_Local technician installer_Local technitian installer_Locall technician installer_Localtechnician installer_Loliondo Parish installer_Losa-kia water suppl installer_Losaa-Kia water supp installer_Losakia water supply installer_Luali Kaima installer_Luka installer_Luleka installer_Luthe installer_Lutheran installer_Lutheran Church installer_M installer_M and P installer_MA installer_MACK DONALD CO LTD installer_MACK DONALD CONTRACTOR installer_MACK DONALD CONTRSCTOR installer_MAISHULE installer_MAIVARU installer_MAJ MUGUMU installer_MAJI MUGUMU installer_MAJI TECH installer_MAKAMA CONSTRUCTION installer_MAKE ENGINEERING installer_MAMAD installer_MANDIA CONSTRUCTION installer_MANGO TREE installer_MANYARA CONSTRUCTION installer_MARAFIN installer_MARAFIP installer_MASAI LAND installer_MASU COMPANY installer_MASWI installer_MASWI CO installer_MASWI COMPANY installer_MASWI DRILL installer_MASWI DRILLING installer_MASWI DRILLING CO. LTD installer_MAZI INVESTMENT installer_MBIUSA installer_MBIUWASA installer_MBOMA installer_MBULI CO installer_MBULU DISTRICT COUNCIL installer_MBUZI MAWE installer_MBWAMBO installer_MCHOME installer_MD installer_MDALA Contractor installer_MDRDP installer_MDRD_ installer_MECO installer_MEM installer_METHODIST CHURCH installer_MGM installer_MH Kapuya installer_MI installer_MIAB installer_MIDA installer_MINISTRY OF EDUCATION installer_MINISTRY OF WATER installer_MINISTRYOF WATER installer_MINJINGU installer_MISHENI installer_MISSION installer_MKON CONSTRUCTION installer_MKONG CONSTRUCTION installer_MKONGO BUILDING CONTRACTOR installer_MKONGO CONSTRUCTION installer_ML appro installer_MLADE installer_MLAKI CO installer_MLAKI CO installer_MMG GOLD MINE installer_MORNING CONSTRUCTION installer_MOSES installer_MOSQUE installer_MP installer_MP Mloka installer_MREMI CONTRACTOR installer_MS installer_MSABI installer_MSF installer_MSF/TACARE installer_MSIGWA installer_MSIKIT installer_MSIKITI installer_MSJI MUGUMU installer_MSUKWA CONSTRUCTION COMPANY installer_MTAMBO installer_MTC installer_MTN installer_MTUI installer_MTUWASA installer_MTUWASA and Community installer_MUSLIMEHEFEN INTERNATIONAL installer_MUWASA installer_MUWSA installer_MW installer_MWAKI CONTRACTO installer_MWAKI CONTRACTOR installer_MWANZA installer_MWE installer_MWE & installer_MWL NGASSA installer_MWS installer_Ma installer_Machibya installer_Mackd installer_Madra installer_Maendeleo ya jamii installer_Maerere installer_Magadini Makiwaru wa installer_Magadini-Makiwaru wa installer_Magani installer_Magoma ADP installer_Magul installer_Magutu Maro installer_Mahemba installer_Mahita installer_Maji Tech installer_Maji block installer_Maji tech Construction installer_Makala installer_Makanya Sisal Estate installer_Makonde installer_Makonde water Population installer_Makonde water population installer_Makonde water supply installer_Makori installer_Makoye installer_Makundya installer_Makuru installer_Makusa installer_Malec installer_Males installer_Maliasili installer_Mama Agnes Kagimbo installer_Mama Hamisa installer_Mama Kalage installer_Mama Kapwapwa installer_Mama joela installer_Mamaz installer_Mambe installer_Mamlaka ya maji ngara installer_Mamvua Kakungu installer_Manyota primary School installer_Manyovu Agriculture Institute installer_Mara inter product installer_Marafip installer_Marijan Ally Dadi installer_Mark installer_Marke installer_Maro installer_Martha Emanuel installer_Marti installer_Marumbo Community installer_Maseka community installer_Masele Nzengula installer_Masese installer_Mashaka M installer_MasjId Takuar installer_Masjid installer_Masjid Nnre installer_Maswi installer_Maswi Company installer_Maswi company installer_Maswi drilling co ltd installer_Mataro installer_Matiiti installer_Matogoro installer_Matyenye installer_Max Mbise installer_Mayiro installer_Mbozi District Council installer_Mbozi Hospital installer_Mbozi Secondary School installer_Mbunge installer_Mbusi Mwita installer_Mbwiro installer_Mchuk installer_Mdala Contractor installer_Megis installer_Member of Perliament Ahmed Ali installer_Meru Concrete installer_Mgaya installer_Mgaya Masese installer_Mgaya Mwita installer_Mh Kapuya installer_Mh.chiza installer_Mi installer_Mianz installer_Milenia installer_Mileniam installer_Mileniam project installer_Milenium installer_Ministry of water installer_Ministry of water engineer installer_Miomb installer_Misana george installer_Misri Government installer_Missi installer_Missio installer_Mission installer_Missionaries installer_Missionary installer_Miziriol installer_Mketo installer_Mkulima installer_Mkuluku installer_Mkuyu installer_Mohamad Masanga installer_Mohamed Ally installer_Mombo urban water installer_Mombo urban water installer_Mombo urban water s installer_Monmali installer_Moravian installer_Moroil installer_Morovi installer_Morovian installer_Morovian Church installer_Morovian church installer_Morrov installer_Morrovian installer_Moshono ADP installer_Mosque installer_Mosqure installer_Motiba Manyanya installer_Moyowosi installer_Mpang installer_Mpango wa Mwisa installer_Mr Chi installer_Mr Kas installer_Mr Kwi installer_Mr Luo installer_Mr Sau installer_Mrish installer_Msabi installer_Msagin installer_Msig installer_Msiki installer_Msikiti installer_Msikitini installer_Msuba installer_Msudi installer_Mtewe installer_Mtwara Technician installer_Mu installer_Muham installer_Muhindi installer_Muhochi Kissaka installer_Mungaya installer_Municipal installer_Municipal Council installer_Musa installer_Muslims installer_Muslimu Society(Shia) installer_Muwaza installer_Mviwa installer_Mw installer_Mwakabalula installer_Mwalimu Muhenza installer_Mwalimu Muhenzi installer_Mwamama installer_Mwamvita Rajabu installer_Mwanamisi Ally installer_Mwananchi Engineeri installer_Mwanga town water authority installer_Mwigicho installer_Mwita Lucas installer_Mwita Machoa installer_Mwita Mahiti installer_Mwita Muremi installer_Mwl. Nyerere sec. school installer_Mwl. Nyerere sec.school installer_Mwl.Mwita installer_Mzee Omari installer_Mzee Salum Bakari Darus installer_Mzee Smith installer_Mzee Waziri Tajari installer_Mzee Yassin Naya installer_Mzinga A installer_Mzung installer_Mzungu installer_Mzungu Paul installer_N.P.R. installer_NAFCO installer_NANRA contractor installer_NCAA installer_NDDP installer_NDM installer_NDRDP installer_NG installer_NGINIL installer_NGO installer_NGO'S installer_NIRAD installer_NJOONJOO installer_NMDC INDIA installer_NORA installer_NORAD installer_NORAD/ installer_NSC installer_NSSF installer_NYAHALE installer_NYAKILANGANI installer_NYAKILANGANI CO installer_NYAKILANGANI CO installer_NYAKILANGANI CONSTRUCTION installer_NZILA installer_Naishu Construction Co. ltd installer_Naishu construction co. ltd installer_Naishu construction co.ltd installer_Nampapanga installer_Nampopanga installer_Namungo installer_Nandra Construction installer_Napupanga installer_Nasan workers installer_Nassan workers installer_Nassor Fehed installer_Nathal Hamadi installer_Natio installer_Ncaa installer_Nchagwa installer_Ndanda missions installer_Nduku village installer_Neemia mission installer_Nerthlands installer_Netherlands installer_Ng'omango installer_Ngelepo group installer_Ngiresi village community installer_Nice installer_Niger installer_Nimrod Mkono[mb] installer_Njula installer_No installer_Norad installer_Norani installer_North installer_Noshad installer_Noshadi installer_Not kno installer_Not known installer_Ns installer_Nu installer_Nyabarongo Kegoro installer_Nyabibuye Islamic center installer_Nyabweta installer_Nyakaho Mwita installer_Nyakilanganyi installer_Nyamasagi installer_Nyamingu subvillage installer_Nyamongo Gold mining installer_Nyamwanji installer_Nyangere installer_Nyanza road installer_Nyeisa installer_Nyitamboka installer_O installer_O & installer_OBC installer_ODA installer_OIKOS installer_OLA installer_OLDONYOLENGAI installer_OLOMOLOKI installer_OLS installer_OMARY MONA installer_ONESM installer_OXFAM installer_OXFARM installer_Obadia installer_Oikos E .Africa installer_Oikos E Africa installer_Oikos E. Africa installer_Oikos E.Africa installer_Oikos E.Afrika installer_Okong'o installer_Oldadai village community installer_Olgilai village community installer_Omar Ally installer_Omar Rafael installer_Omari Mzee installer_Onesm installer_Ongan installer_Orien installer_Orphanage installer_Others installer_Othod installer_Overland High School installer_Ox installer_P installer_P.N.R. installer_PAD installer_PADEP installer_PART installer_PATUU installer_PCI installer_PET installer_PIDP installer_PIT COOPERATION LTD installer_PIUS CHARLES installer_PMO installer_PNR Da installer_PNR co installer_PRF installer_PRINCE MEDIUM SCHOOL installer_PRIV installer_PRIVATE INSTITUTIONS installer_PWD installer_Padep installer_Paffec installer_Pankrasi installer_Panone installer_Paskali installer_Pata installer_Patrick Nyanzwi installer_Paul installer_Pentecost church installer_Pentecosta installer_Pentecostal church installer_Pentekoste installer_People P installer_People from Egypt installer_Perusi Bhoke installer_Pet Corporation Ltd installer_Pet Coporation Ltd installer_Pet Corporation Ltd installer_Pet corporation Ltd installer_Peter Mayiro installer_Petro Patrice installer_Phase installer_Piscop installer_Plan Int installer_Plan Internationa installer_Plan International installer_Plan Tanzania installer_Po installer_Pori la akiba kigosi installer_Pr installer_Presadom installer_Prima installer_Primo installer_Priva installer_Privat installer_Private installer_Private Technician installer_Private company installer_Private individuals installer_Private owned installer_Private person installer_Prof. Saluati installer_Pump entecostal Sweeden installer_Q-sem Ltd installer_QUICKWINS installer_QUIK installer_QUKWIN installer_QUWKWIN installer_QWICKWIN installer_Quick win project installer_Quick win project /Council installer_Quick win/halmashauri installer_Quik installer_Qwick Win installer_R installer_R.C installer_RC installer_RC .Church installer_RC C installer_RC CATHORIC installer_RC CH installer_RC CHURCH installer_RC CHURCH BROTHER installer_RC Ch installer_RC Churc installer_RC Church installer_RC MISSION installer_RC MISSIONARY installer_RC Mi installer_RC Mis installer_RC Msufi installer_RC Njoro installer_RC church installer_RC church/CEFA installer_RC church/Central Gover installer_RC mission installer_RC/Mission installer_RCchurch/CEFA installer_RDC installer_RDDC installer_RDWS installer_RE installer_RED CROSS installer_REDAP installer_REDEP installer_REDESO installer_REGIONAL WATER ENGINEER ARUSHA installer_REGWA installer_REGWA COMPANY OF EGPTY installer_REGWA COMPANY OF EGYPT installer_REGWA Company installer_RESOLUTE MINING installer_RIDEP installer_RO installer_ROMAN CATHOLIC installer_RSSP installer_RUDE installer_RUDEP installer_RUDEP/ installer_RUNDAGA installer_RURAL WATER SUPPLY installer_RUVUMA BASIN installer_RW installer_RWE installer_RWE /Community installer_RWE Community installer_RWE/ Community installer_RWE/Community installer_RWE/DWE installer_RWE/TCRS installer_RWEDWE installer_RWET/WESA installer_RWI installer_RWSP installer_RWSSP installer_Railway installer_Ramadhani M. Mvugalo installer_Ramadhani Nyambizi installer_Raramataki installer_Rashid Mahongwe installer_Rashid Seng'ombe installer_Raurensia installer_Raymond Ekura installer_Rc installer_Rc Mission installer_Recoda installer_Red Cross installer_Red cross installer_Redep installer_Regina group installer_Region Water Department installer_Region water installer_Region water Department installer_Regional Water installer_Regwa Company installer_Resolute installer_Rhobi installer_Rhobi Wamburs installer_Rhoda installer_Richard M.Kyore installer_Rilayo water project installer_Rips installer_Rished installer_Robert Mosi installer_Robert kampala installer_Roma installer_Romam installer_Roman installer_Roman Ca installer_Roman Catholic installer_Roman Catholic Rulenge Diocese installer_Roman Cathoric -Kilomeni installer_Roman Cathoric -Same installer_Roman Cathoric Same installer_Roman Church installer_Roman catholic installer_Rombo Dalta installer_Rombo delta installer_Rotar installer_Rotary Club installer_Rotary Club of Chico and Moshi installer_Rotary Club of USA and Moshi installer_Rotary club installer_Rotary club Australia installer_Rotary club kitchener installer_Rotery c installer_Rotte installer_Rps installer_Ruangwa contractor installer_Rudri installer_Rundu man installer_RunduMan installer_Runduman installer_Rural installer_Rural Drinking Water Supply installer_Rural Drinkung Water Supply installer_Rural water Supply installer_Rusumo Game reserve installer_Ruthe installer_S installer_S.P.C Pre-primary School installer_SADIKI KANGELO installer_SAFARI CAMP installer_SAIDI CO installer_SAUWASA installer_SAXON installer_SAXON BUILDING CONTRACTOR installer_SAXON BUILDING CONTRACTOR installer_SAXON BUILDING CONTRACTORS installer_SCHOO installer_SCHOOL installer_SCOTT installer_SDA installer_SDA CHURCH installer_SDP installer_SELEPTA installer_SEMA installer_SEMA CO LTD installer_SEMA Consultant installer_SENAPA installer_SERENA installer_SERENS installer_SERONERA installer_SHAWASA installer_SHIP installer_SHIPO installer_SHIPO CONSTRUCTORS installer_SHULE installer_SHUWASA installer_SHY BUILDERS installer_SI installer_SIA Ltd installer_SIDA installer_SIJM installer_SIMAVI installer_SIMBA installer_SIMBA CO installer_SIMBA LODGE installer_SINGIDA YETU installer_SINGIDA YETU installer_SIPDO installer_SOLIDAME installer_SOLIDARM installer_SOLIDERM installer_SONGAS installer_SOWASA installer_SPAR DRILLING installer_SSU installer_STABEX installer_STAMPERS installer_SUA installer_SULEMAN IDD installer_SUMO installer_SUNAMCO installer_SUWASA installer_SW installer_Sa installer_Sabodo installer_Sacso installer_Safari Roya installer_Safe Rescue Ltd installer_Sagaswe installer_Said Hashim installer_Said Omari installer_Saidi Halfani installer_Sakwidi installer_Saleh Zaharani installer_Salehe installer_Salum Tambalizeni installer_Samsoni installer_Samwel installer_Samweli installer_Samweli Kitana installer_Sangea District Coun installer_Sanje Wa installer_Sao installer_Save the rain installer_Save the rain USA installer_Scholastica Pankrasi installer_Schoo installer_School installer_School Adm9nstrarion installer_School Adminstrarion installer_Secondary installer_Secondary school installer_Seff Mtambo installer_Segera Estate installer_Seif Ndago installer_Sekei village community installer_Sekondari installer_Seleman Masoud installer_Selikali installer_Selous G installer_Sengerema Water Department installer_Sent Tho installer_Seram installer_Serengeti District concil installer_Serikali installer_Serikali ya kijiji installer_Serikari installer_Sh installer_Shallow well installer_Shamte Said installer_Shekhe installer_Shelisheli commission installer_Shingida yetu installer_Shipo installer_Shule installer_Shule ya msingi installer_Shule ya msingi ufala installer_Shule ya sekondari Ipuli installer_Simango Kihengu installer_Simon Lusambi installer_Singasinga installer_Singida General Supplies Ltd installer_Singida yetu installer_Sisal Estste Hale installer_Sister makulata installer_Siza Mayengo installer_Socie installer_Songa installer_Songas installer_Songea District Coun installer_Sophia Wazir installer_St installer_St Elizabeth Majengo installer_St Gasper installer_St Magreth Church installer_St ph installer_Staford Higima installer_Stephano installer_Stephano Paulo installer_Steven Nyangarika installer_Sua installer_Subvillage installer_Sumbaw installer_Summit for water/Community installer_Sumry installer_Swalehe Rajabu installer_Sweeden installer_Swiss If installer_T installer_T. N. karugendo installer_TA installer_TACRI installer_TAG installer_TAG CHURCH installer_TAG Patmo's installer_TAHEA installer_TAIPO installer_TAN PLANT LTD installer_TANAP installer_TANAPA installer_TANAS installer_TANCAN installer_TANCRO installer_TANEDAPS Society installer_TANGA CEMENT installer_TANROAD installer_TANZAKESHO installer_TANZANIAN GOVERNMENT installer_TASA installer_TASAF installer_TASAF 1 installer_TASAF and Comunity installer_TASAF and MMEM installer_TASAF/ installer_TASAF/DMDD installer_TASAF/TLC installer_TASAFcitizen and LGA installer_TASF installer_TASSAF installer_TASSAF /TCRS installer_TASSAF/ TCRS installer_TASSAF/TCRS installer_TAWASA installer_TBL installer_TCRS installer_TCRS /CARE installer_TCRS /DWE installer_TCRS /Government installer_TCRS /TWESA installer_TCRS Kibondo installer_TCRS TWESA installer_TCRS a installer_TCRS.TLC installer_TCRS/ TASSAF installer_TCRS/ TWESA installer_TCRS/CARE installer_TCRS/DWE installer_TCRS/TLC installer_TCRS/TWESA installer_TCRS/village community installer_TDFT installer_TECH SUPPORT BEST CO installer_TGT installer_TGTS installer_THREE WAY GERMAN installer_TINA/Africare installer_TLC installer_TLC/Emmanuel Kasoga installer_TLC/Jenus Malecha installer_TLC/John Majala installer_TLC/Nyengesa Masanja installer_TLC/Samora installer_TLC/Seleman Mang'ombe installer_TLC/Sorri installer_TLC/Thimotheo Masunga installer_TLC/community installer_TLTC installer_TMN installer_TMP installer_TOVE installer_TPP installer_TPP TRUSTMOSHI installer_TRACHOMA installer_TRC installer_TREDEP installer_TRIDEP installer_TRUST installer_TSCR installer_TSRC installer_TUKWALE ENTERP installer_TUKWARE ENTERP installer_TUMAINI FUND installer_TUWASA installer_TWE installer_TWENDE PAMOJA installer_TWESA installer_TWESA /Community installer_TWESA/ Community installer_TWESA/Community installer_TWESA/JAMII installer_TWESS installer_TWIG installer_TZ as installer_Ta installer_Taasi installer_Taboma/Community installer_Tabora Municipal Council installer_Tabraki installer_Tadeo installer_Taees installer_Taes installer_Tajiri Jumbe Lila installer_Tanapa installer_Tanesco installer_Tanganyika Basin installer_Tanload installer_Tansi installer_Tanz installer_Tanz Egypt technical coopera installer_Tanz/Egypt technical coopera installer_Tanza installer_Tanzania installer_Tanzania Egypt Technical Co Op installer_Tanzania Government installer_Tanzania government installer_Tanzania/ Egypt installer_Tanzanian Government installer_Tarangire park installer_Tardo installer_Tareto installer_Tasaf installer_Tasaf and Lga installer_Te installer_Team Rafiki installer_Tempo installer_Teonas Wambura installer_Teresa Munyama installer_The Co installer_The I installer_The Isla installer_The desk and chair foundat installer_Theo installer_Thomasi busigaye installer_Tom installer_Total Landcare installer_Total land Care installer_Total land care installer_Total landcare installer_Totoland installer_Totoland care installer_Townsh installer_Tulawaka Gold Mine installer_Tumaini fund installer_U.S.A installer_UAACC installer_UDC/Sema installer_UDC/sema installer_UDEA installer_UKILIG installer_UMOJA DRILLING installer_UMOJA DRILLING CONSTRUCTION installer_UMOJA DRILLING CONTRACTOR installer_UMOJA DRILLING CONTRUCTO installer_UN installer_UN Habitat installer_UN ONE installer_UNDP installer_UNHCR installer_UNICEF installer_UNICRF installer_UNIVERSAL CONSTRUCTION installer_UPM installer_US Embassy installer_USA EMBASSY installer_USAID installer_USTAWI installer_UYOGE installer_Ubalozi wa Japani installer_Ubalozi wa Marekani installer_Ubalozi wa Marekani /DWE installer_Ubung installer_Uhai wa mama na mtoto installer_Ungan installer_Unicef installer_Unisef installer_Unknown installer_Unknown Installer installer_Upendo Group installer_Upendo primary School installer_Usambala sisters installer_V installer_VC installer_VICF installer_VICFISH LTD installer_VICKFI installer_VICTORIA DRILL installer_VICTORIA DRILL CO installer_VIEN CONSTRUCTION installer_VIFAF installer_VIFAFI installer_VIFAI installer_VILLAG installer_VILLAGE installer_VILLAGE COUNCIL installer_VILLAGE COUNCIL .ODA installer_VILLAGE COUNCIL Orpha installer_VILLAGE WATER COMMISSION installer_VILLAGER installer_VILLAGERS installer_VITECOS installer_VITECOS INVEST installer_VTECOS installer_VTTP installer_VW installer_VWC installer_VWT installer_Vi installer_ViLLAGE COUNCIL installer_Victoria installer_Victoria company installer_Vill installer_Villa installer_Villaers installer_Villag installer_Village installer_Village Council installer_Village Community installer_Village Council installer_Village Counil installer_Village Government installer_Village Govt installer_Village Office installer_Village Technician installer_Village community installer_Village community members installer_Village council installer_Village government installer_Village govt installer_Village local contractor installer_Village water attendant installer_Village water committee installer_Villager installer_Villagerd installer_Villagers installer_Villages installer_Villege Council installer_Villi installer_Vodacom installer_W installer_W.B installer_W.C.S installer_W.D & installer_W.D. and I.D. installer_W/ installer_WA installer_WADECO installer_WAMA installer_WAMBA installer_WASHIMA installer_WATER installer_WATER AID installer_WATER AIDS installer_WATER AID installer_WATERAID installer_WB installer_WB / District Council installer_WBK installer_WD and ID installer_WDE installer_WDECO installer_WDP installer_WE installer_WEDECO installer_WEDECO/WESSONS installer_WEDEKO installer_WEEPERS installer_WFP installer_WILLIAMSON DIAMOND LTD installer_WINAM CONSTRUCTION installer_WINAM CO installer_WINAM CONSTRUCTION installer_WINAMU CO installer_WINNIN SPIRIT CO installer_WINNIN SPIRIT CO LTD installer_WIZARA installer_WORDL BANK installer_WORLD BANK installer_WORLD NK installer_WORLD VISION installer_WOULD BANK installer_WOYEGE installer_WSDP installer_WSSP installer_WU installer_WUA installer_WUS installer_WVC installer_WVT installer_WW installer_WWF installer_WWF/ installer_Wa installer_Wachina installer_Wadeco installer_Wafidh installer_Waheke installer_Wahidi installer_Waitaliano installer_Wajerumani installer_Wamisionari wa Kikatoriki installer_Wamissionari wa kikatoriki installer_Wanan installer_Wananchi installer_Wanjoda installer_Warento installer_Wasso installer_Wasso companies installer_Wasso contractors installer_Water installer_Water Aid/Maji tech installer_Water Aid/Sema installer_Water /sema installer_Water AID installer_Water Aid installer_Water Aid /sema installer_Water Aid/DWE installer_Water Aid/Sema installer_Water Aid/sema installer_Water Authority installer_Water Department installer_Water Hu installer_Water Project Mbawala chini installer_Water Solution installer_Water aid installer_Water aid /sema installer_Water aid/sema installer_Water authority installer_Water board installer_Water boards installer_Water department installer_Water hu installer_Water use Group installer_Water user Group installer_Water users Group installer_Wedeco installer_William Acles installer_Wilson installer_Winkyens installer_Wizara ya maji installer_Wizara ya maji installer_Wizra ya maji na egypt installer_Wo installer_Word installer_Word Bank installer_Word bank installer_Word divisio installer_World installer_World Bank installer_World Division installer_World Visiin installer_World Vision installer_World Vission installer_World bank installer_World banks installer_World vision installer_YEBE CHIKOMESH installer_YELL LTD installer_YUMBAKA ENGINEERING installer_Yakwetu Contractor installer_Yasini installer_Yasini Selemani installer_Yohanis Mgaya installer_Yoroko mwalongo installer_ZINDUKA installer_Zaburi and neighbors installer_Zacharia MTN installer_Zao installer_Zao water spring installer_Zao water spring X installer_Zingibali Secondary installer_Zuber Mihungo installer_ambwene mwaikeke installer_anglican Uganda installer_brown installer_care international installer_central government installer_chacha installer_church installer_commu installer_desk and chair foundation installer_germany installer_go installer_gwitembe installer_harison installer_hesaw installer_hesawa installer_inkinda installer_installer_missing installer_ir installer_is installer_joery magabe installer_john skwese installer_kanisa installer_kegocha installer_kuwait installer_kw installer_lion's club installer_local installer_local technician installer_local fundi installer_local technical tec installer_local technician installer_local technitian installer_lusajo installer_lutheran church installer_maendeleo ya jamii installer_magige installer_maji mugumu installer_malola installer_marafip installer_mbeje installer_mchina installer_morovian church installer_ms installer_muniko installer_mwakalinga installer_mwakifuna installer_mwita installer_mwita kichere installer_mzee mabena installer_nandra Construction installer_nchagwa installer_not known installer_p installer_peter installer_plan Int installer_plan int installer_private installer_rc ch installer_rc church installer_salamu kita installer_secondary installer_secondary school installer_sengerema Water Department installer_sengerema water Department installer_shule installer_stansilaus installer_ter installer_unknown installer_upper Ruvu installer_villager installer_villagers installer_villigers installer_wanan installer_wananchi installer_wananchi technicians installer_wasab installer_water board installer_wizara ya maji installer_world installer_world banks installer_world vision region_Arusha region_Dar es Salaam region_Dodoma region_Iringa region_Kagera region_Kigoma region_Kilimanjaro region_Lindi region_Manyara region_Mara region_Mbeya region_Morogoro region_Mtwara region_Mwanza region_Pwani region_Rukwa region_Ruvuma region_Shinyanga region_Singida region_Tabora region_Tanga public_meeting_False public_meeting_True public_meeting_miss_p_mtng scheme_management_Company scheme_management_None scheme_management_Other scheme_management_Parastatal scheme_management_Private operator scheme_management_SWC scheme_management_Trust scheme_management_VWC scheme_management_WUA scheme_management_WUG scheme_management_Water Board scheme_management_Water authority scheme_management_miss_sch_mngt permit_False permit_True permit_miss_permit extraction_type_afridev extraction_type_cemo extraction_type_climax extraction_type_gravity extraction_type_india mark ii extraction_type_india mark iii extraction_type_ksb extraction_type_mono extraction_type_nira/tanira extraction_type_other extraction_type_other - mkulima/shinyanga extraction_type_other - play pump extraction_type_other - rope pump extraction_type_other - swn 81 extraction_type_submersible extraction_type_swn 80 extraction_type_walimi extraction_type_windmill management_company management_other management_other - school management_parastatal management_private operator management_trust management_unknown management_vwc management_water authority management_water board management_wua management_wug payment_never pay payment_other payment_pay annually payment_pay monthly payment_pay per bucket payment_pay when scheme fails payment_unknown water_quality_coloured water_quality_fluoride water_quality_fluoride abandoned water_quality_milky water_quality_salty water_quality_salty abandoned water_quality_soft water_quality_unknown quantity_dry quantity_enough quantity_insufficient quantity_seasonal quantity_unknown source_dam source_hand dtw source_lake source_machine dbh source_other source_rainwater harvesting source_river source_shallow well source_spring source_unknown waterpoint_type_cattle trough waterpoint_type_communal standpipe waterpoint_type_communal standpipe multiple waterpoint_type_dam waterpoint_type_hand pump waterpoint_type_improved spring waterpoint_type_other
0 6000.0 1390 109 12 202.517704 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0
1 0.0 1399 280 3 396.072413 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0
2 25.0 686 250 4 943.553742 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
3 0.0 263 58 27 248.454311 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0
4 0.0 0 0 1 375.346864 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0

Perform the scaling of the features

In [157]:
from sklearn.preprocessing import StandardScaler

sc = StandardScaler()
In [158]:
train_data_1[num_col_sc] = sc.fit_transform(train_data_1[num_col_sc])
/anaconda3/lib/python3.6/site-packages/sklearn/preprocessing/data.py:645: DataConversionWarning: Data with input dtype int64, float64 were all converted to float64 by StandardScaler.
  return self.partial_fit(X, y)
/anaconda3/lib/python3.6/site-packages/sklearn/base.py:464: DataConversionWarning: Data with input dtype int64, float64 were all converted to float64 by StandardScaler.
  return self.fit(X, **fit_params).transform(X)
In [159]:
train_data_1.head()
Out[159]:
amount_tsh gps_height population years_elapsed basin_pump_dist funder_0 funder_A/co Germany funder_Aar funder_Abas Ka funder_Abasia funder_Abc-ihushi Development Cent funder_Abd funder_Abdala funder_Abddwe funder_Abdul funder_Abood funder_Abs funder_Aco/germany funder_Acord funder_Acord Ngo funder_Acra funder_Act funder_Act Mara funder_Action Aid funder_Action Contre La Faim funder_Action In A funder_Adap funder_Adb funder_Adf funder_Adp funder_Adp Bungu funder_Adp Mombo funder_Adp/w funder_Adra funder_Af funder_Afdp funder_Afric funder_Africa funder_Africa 2000 Network/undp funder_Africa Amini Alama funder_Africa Project Ev Germany funder_African funder_African 2000 Network funder_African Barrick Gold funder_African Development Bank funder_African Development Foundation funder_African Muslim Agency funder_African Realief Committe Of Ku funder_African Reflections Foundation funder_African Relie funder_Africaone Ltd funder_Africare funder_Afriican Reli funder_Afroz Ismail funder_Afya Department Lindi Rural funder_Agape Churc funder_Agt Church funder_Ahmadia funder_Ai funder_Aic funder_Aic Church funder_Aic Kij funder_Aict funder_Aimgold funder_Aixos funder_Alia funder_Ambwene Mwaikek funder_Amref funder_Amrefe funder_Anglican Church funder_Angrikana funder_Anjuman E Seifee funder_Answeer Muslim Grou funder_Apm funder_Apm[africa Precious Metals Lt funder_Aqua Blues Angels funder_Arab Community funder_Arabi funder_Arabs Community funder_Ardhi Instute funder_Area funder_Artisan funder_Asb funder_Asdp funder_Asgerali N Bharwan funder_Auwasa funder_Awf funder_B.A.P funder_Ba As funder_Babtest funder_Babtist funder_Bahewasa funder_Bahresa funder_Bakari Chimkube funder_Bakwata funder_Ballo funder_Balo funder_Balyehe funder_Banca Reale funder_Bank funder_Bao funder_Baptist Church funder_Baric funder_Bathlomew Vicent funder_Batist Church funder_Belgian Government funder_Belgij funder_Bened funder_Benguka funder_Bffs funder_Bfwd funder_Bgm funder_Bgss funder_Bgssws funder_Bhws funder_Bilila funder_Bingo Foundation funder_Bingo Foundation Germany funder_Bio Fuel Company funder_Biore funder_Birage funder_Bkhws funder_Boazi funder_Boazi /o funder_Bobby funder_Bokera W funder_Boma Saving funder_Bong-kug Ohh/choonlza Lee funder_Bonite Bottles Ltd funder_Br funder_Bra funder_Brad funder_Brdp funder_Bread For The Wor funder_Bread Of The Worl funder_Bridge North funder_British Colonial Government funder_British Tanza funder_Brown funder_Bruder funder_Bs funder_Bsf funder_Bukumbi funder_Bukwang Church Saint funder_Bukwang Church Saints funder_Buluga Subvillage Community funder_Bulyahunlu Gold Mine funder_Bumabu funder_Buptist funder_Busoga Trust funder_C funder_Cafod funder_Caltas funder_Caltas Tanzania funder_Caltaz Kahama funder_Caltus funder_Calvary Connect funder_Camartec funder_Camavita funder_Canada funder_Canada Aid funder_Care Int funder_Care International funder_Care/cipro funder_Care/dwe funder_Caritas funder_Carmatech funder_Cartas Tanzania funder_Cast funder_Cathoric funder_Cbhi funder_Cc Motor Day 2010 funder_Ccp funder_Ccpk funder_Ccps funder_Cct funder_Cdcg funder_Cdft funder_Cdg funder_Cdtf funder_Cdtfdistrict Council funder_Cefa funder_Cefa-njombe funder_Cefa/rcchurch funder_Ces (gmbh) funder_Ces(gmbh) funder_Cg funder_Cg/rc funder_Cgc funder_Cgi funder_Ch funder_Chacha funder_Chacha Issame funder_Chai Wazir funder_Chama Cha Ushirika funder_Chamavita funder_Chani funder_Charlotte Well funder_Cheni funder_China Government funder_Chmavita funder_Chongolo funder_Christan Outrich funder_Christian Outrich funder_Chuo funder_Churc funder_Church funder_Church Of Disciples funder_Cida funder_Cip funder_Cipro funder_Cipro/care funder_Cipro/care/tcrs funder_Cipro/government funder_Clause funder_Cmcr funder_Cmsr funder_Co funder_Cobashec funder_Cocen funder_Cocern funder_Cocu funder_College funder_Colonial Government funder_Commu funder_Community funder_Community Bank funder_Compa funder_Company funder_Compasion International funder_Comune Di Roma funder_Comunedi Roma funder_Comunity Construction Fund funder_Conce funder_Concen funder_Concern funder_Concern /govern funder_Concern World Wide funder_Concern/governm funder_Cope funder_Costantine Herman funder_Council funder_Cpar funder_Cper funder_Cpps funder_Cpps Mission funder_Cpro funder_Craelius funder_Cristan Outrich funder_Crs funder_Csf funder_Cspd funder_Cvs Miss funder_D funder_D Ct funder_Da Unoperaio Siciliano funder_Dacp funder_Dadid funder_Dadis funder_Dadp funder_Dads funder_Dae Yeol And Chae Lynn funder_Dagida funder_Daida funder_Dak funder_Daldo funder_Danida funder_Danida /government funder_Dar Al Ber funder_Dar Es Salaam Round Table funder_Dasiip funder_Dasip funder_Dasp funder_Dasp Ltd funder_Dassip funder_Dawasa funder_Dawasco funder_Dbfpe funder_Dbsp funder_Dbspe funder_Dct funder_Ddca funder_Ddp funder_De funder_Ded funder_Ded Kilo funder_Ded/rwssp funder_Ded_rwsp funder_Denat funder_Denish funder_Deogratius Kasima funder_Desk And Chair Foundation funder_Devon Aid Korogwe funder_Dfid funder_Dgv funder_Dh funder_Dhinu funder_Dhv funder_Dhv Moro funder_Dhv/gove funder_Dhv\norp funder_Dhv\swis funder_Dimon funder_Dina funder_Dioce funder_Diocese Of Geita funder_Diocese Of Mount Kilimanjaro funder_District Council funder_District Medical funder_District Rural Project funder_Diwani funder_Dmd funder_Dmdd funder_Dmdd/solider funder_Dmk funder_Dmk Anglican funder_Dmmd funder_Dmo funder_Do funder_Doctor Mwambi funder_Doddea funder_Dokta Mwandulam funder_Dom funder_Domestic Rural Development Pr funder_Domestic Rural Development Pro funder_Domestic Water Supply Project funder_Dominiki Simwen funder_Doner And Com funder_Doner And Ded funder_Donor funder_Dqnida funder_Drdp funder_Drdp Ngo funder_Drv Na Idara funder_Drwssp funder_Dsdp funder_Dsp funder_Duka funder_Duwas funder_Dv funder_Dw funder_Dwarf funder_Dwe funder_Dwe And Veo funder_Dwe/anglican Church funder_Dwe/bamboo Projec funder_Dwe/norad funder_Dwe/rudep funder_Dwe/ubalozi Wa Marekani funder_Dwsdp funder_Dwsp funder_Dwssp funder_Dwst funder_Dwt funder_Ea funder_Eastmeru Medium School funder_Eater funder_Ebaha funder_Eco Lodge funder_Education Funds funder_Efg funder_Egypt funder_Egypt Government funder_Egypt Technical Co Operation funder_El funder_Elca funder_Elct funder_Embasy Of Japan In Tanzania funder_Engin funder_Engineers Without Border funder_Eno funder_Enyuati funder_Enyueti funder_Ereto funder_Ermua funder_Erre Kappa funder_Esawa funder_Ester Ndege funder_Eu funder_Eu/acra funder_Eung Am Methodist Church funder_Eung-am Methodist Church funder_European Union funder_F funder_Fabia funder_Fao funder_Farm Africa funder_Farm-africa funder_Fathe funder_Father Bonifasi funder_Father W funder_Fdc funder_Fida funder_Filo funder_Fin Water funder_Fini Water funder_Finida German Tanzania Govt funder_Finidagermantanzania Govt funder_Finland funder_Finland Government funder_Finn Water funder_Finw funder_Finwater funder_Fiwater funder_Floresta funder_Folac funder_Foreigne funder_Fosecu funder_Fpct funder_Fpct Church funder_Fpct Mulala funder_Fptc - Pent funder_Franc funder_France funder_Frankfurt funder_Fredked Conservation funder_Free Pentecoste Church Of Tanz funder_Fresh Water Plc England funder_Friedkin Conservation Fund funder_Friend From Un funder_Friends Of Kibara Foundation funder_Friends Of Ulambo And Mwanhala funder_Full Gospel Church funder_Fw funder_G.D&i.D funder_Ga funder_Gachuma Ginery funder_Gaica funder_Gain funder_Game Division funder_Game Fronti funder_Gdp funder_Geita Goldmain funder_Gen funder_Geochaina funder_Gerald Tuseko Gro funder_German Missionary funder_Germany funder_Germany Cristians funder_Germany Misionary funder_Germany Missionary funder_Germany Republi funder_Gesawa funder_Getdsc00 funder_Getekwe funder_Gg funder_Ggm funder_Gil Cafe'church' funder_Giovan Disinistra Per Salve funder_Giz funder_Global Fund funder_Go funder_Godii funder_Goldmain funder_Goldwill Foundation funder_Government funder_Government /sda funder_Government /tassaf funder_Government /world Vision funder_Government And Community funder_Government Of Misri funder_Government Of Tanzania funder_Government/ Community funder_Government/ World Bank funder_Government/school funder_Government/tassaf funder_Government/tcrs funder_Gra Na Halmashauri funder_Grail Mission Kiseki Bar funder_Grazie Franco Lucchini funder_Grazie Grouppo Padre Fiorentin funder_Greec funder_Greinaker funder_Greineker funder_Grumeti funder_Gt funder_Gtz funder_Gurdians funder_Gwitembe funder_H funder_H/w funder_H4ccp funder_Haam funder_Haidomu Lutheran Church funder_Halimashau funder_Halimashauli funder_Halmashauli funder_Halmashaur funder_Halmashauri funder_Halmashauri Wil funder_Halmashauri Ya Manispa Tabora funder_Halmashauri Ya Wilaya funder_Halmashauri Ya Wilaya Sikonge funder_Ham funder_Hamref funder_Handeni Trunk Main( funder_Handeni Trunk Maini funder_Hans funder_Hapa funder_Hapa Singida funder_Happy Watoto Foundation funder_Haruna Mpog funder_Hasawa funder_Hashi funder_Hasnan Murig (mbunge) funder_Hasnein Muij Mbunge funder_Hasnein Murij funder_Hassan Gulam funder_Haydom Lutheran Hospital funder_Hdv funder_He funder_Healt funder_Health Ministry funder_Hearts Helping Hands.Inc. funder_Henure Dema funder_Heri Mission funder_Hery funder_Hesaw funder_Hesawa funder_Hesawa And Concern World Wide funder_Hesawwa funder_Hesawz funder_Hesawza funder_Hesswa funder_Hewasa funder_Hewawa funder_Hez funder_Hhesawa funder_Hiap funder_Hifab funder_Hilfe Fur Brunder funder_Hindu funder_Holand funder_Holili Water Supply funder_Holla funder_Holland funder_Hongoli funder_Hortanzia funder_Hospital funder_Hotels And Lodge Tanzania funder_Hotels And Loggs Tz Ltd funder_Hpa funder_Hsw funder_Htm funder_Huches funder_Hw/rc funder_Hydom Luthelani funder_I Wash funder_I.E.C funder_Iado funder_Icap funder_Icdp funder_Icf funder_Ics funder_Idara Ya Maji funder_Idc funder_Idea funder_Idf funder_Idydc funder_If funder_Ifad funder_Ifakara funder_Igolola Community funder_Ikela Wa funder_Ikeuchi Towels Japan funder_Il funder_Ilaramataki funder_Ilct funder_Ilkeri Village funder_Ilo funder_Ilo/undp funder_Ilwilo Community funder_Imf funder_In funder_In Memoria Di Albeto funder_Incerto funder_Inkinda funder_Insititutiona funder_Institution funder_Institutional funder_Insututional funder_Internal Drainage Basin funder_International Aid Services funder_Investor funder_Iom funder_Ir funder_Iran Gover funder_Irc funder_Irevea Sister funder_Irevea Sister Water funder_Irish Ai funder_Irish Government funder_Is funder_Isf funder_Isf / Tasaff funder_Isf/government funder_Isf/gvt funder_Isf/tacare funder_Isingiro Ho funder_Islam funder_Islamic funder_Islamic Agency Tanzania funder_Islamic Community funder_Islamic Found funder_Islamic Society funder_Isnashia And funder_Issa Mohamedi Tumwanga funder_Italian funder_Italy funder_Italy Government funder_Iucn funder_Jacobin funder_Jafary Mbaga funder_Jaica funder_Jamal funder_Jamal Abdallah funder_Japan funder_Japan Food Aid Counter Part funder_Japan Aid funder_Japan Embassy funder_Japan Food funder_Japan Food Aid funder_Japan Government funder_Jbg funder_Jeica funder_Jeshi La Wokovu funder_Jeshi La Wokovu [cida] funder_Jeshi Lawokovu funder_Jgb funder_Jica funder_Jika funder_Jimbo Fund funder_Jimmy funder_Jipa funder_John Fund funder_John Gileth funder_John Skwese funder_Ju funder_Ju-sarang Church' And Bugango funder_Judge Mchome funder_Juhibu funder_Juma funder_Jumaa funder_Jumanne funder_Jumanne Siabo funder_Justine Marwa funder_Jwtz funder_K funder_Ka funder_Kaaya funder_Kadip funder_Kadp funder_Kadres Ngo funder_Kaemp funder_Kagera funder_Kagera Mine funder_Kagunguli Secondary funder_Kahema funder_Kajima funder_Kalebejo Parish funder_Kalitasi funder_Kalitesi funder_Kalta funder_Kamama funder_Kamata Project funder_Kambi Migoko funder_Kanamama funder_Kando funder_Kanis funder_Kanisa funder_Kanisa Katoliki funder_Kanisa Katoliki Lolovoni funder_Kanisa La Menonite funder_Kanisa La Mitume funder_Kanisa La Neema funder_Kanisa La Tag funder_Kanisani funder_Kapelo funder_Karadea Ngo funder_Kashwas funder_Kassim funder_Kata funder_Kauzeni funder_Kayempu Ltd funder_Kc funder_Kcu funder_Kdc funder_Kdpa funder_Kdrdp Ngo funder_Kegocha funder_Kenyans Company funder_Kerebuka funder_Kfw funder_Ki funder_Kibaha Independent School funder_Kibaha Town Council funder_Kibara Foundation funder_Kibo funder_Kibo Brewaries funder_Kidep funder_Kidika funder_Kidp funder_Kigoma Municipal funder_Kigoma Municipal Council funder_Kigwa funder_Kijij funder_Kijiji funder_Kikom funder_Kikundi Cha Akina Mama funder_Kilimarondo Parish funder_Kilimo funder_Kilindi District Co funder_Kiliwater funder_Killflora funder_Kilol funder_Kilomber funder_Kilwater funder_Kimkuma funder_Kinapa funder_Kindoroko Water Project funder_Kinga funder_Kingupira S funder_Kipo Potry funder_Kirde funder_Kirdep funder_Kitiangare Village Community funder_Kiuma funder_Kiwanda Cha Ngozi funder_Kiwanda Cha Samaki funder_Kiwanda Cha Tangawizi funder_Kizego Jumaa funder_Kizenga funder_Kkkt funder_Kkkt Canal funder_Kkkt Church funder_Kkkt Dme funder_Kkkt Leguruki funder_Kkkt Mareu funder_Kkkt Ndrumangeni funder_Kkkt Usa funder_Kkkt-dioces Ya Pare funder_Kkkt_makwale funder_Kmcl funder_Kmt funder_Koica funder_Koica And Tanzania Government funder_Koico funder_Kokornel funder_Kolopin funder_Kombe Foundation funder_Kome Parish funder_Kondela funder_Kondo Primary funder_Konoike funder_Kopwe Khalifa funder_Korea funder_Krp funder_Ku funder_Kuamu funder_Kuji Foundation funder_Kurrp funder_Kurrp Ki funder_Kuwait funder_Kuwasa funder_Kwa Ditriki Cho funder_Kwa Makala funder_Kwa Mzee Waziri funder_Kwamdulu Estate funder_Kwang-nam Middle-school funder_Kwaruhombo He funder_Kwasenenge Group funder_Kwik funder_Kwikwiz funder_Kyariga funder_Kyela Council funder_Kyela-morogoro funder_L funder_Laizer funder_Lake Tanganyika funder_Lake Tanganyika Basin funder_Lake Tanganyika Prodap funder_Lamp funder_Laramatak funder_Latfu funder_Lawate Fuka Water Suppl funder_Lawatefuka Water Supply funder_Lc funder_Lcdg funder_Lcgd funder_Ldcdd funder_Ldcgd funder_Lee Kang Pyung's Family funder_Legeza Legeza funder_Lench funder_Lench Taramai funder_Leopad Abeid funder_Lg funder_Lga funder_Lga And Adb funder_Lgcbg funder_Lgcd funder_Lgcdg funder_Lgcgd funder_Lgdbg funder_Lgdcg funder_Lidep funder_Lifetime funder_Lion Clu funder_Lions funder_Lions C funder_Lions Club funder_Lions Club Kilimanjaro funder_Lips funder_Lisa funder_Liuwassa funder_Livin funder_Living Water International funder_Liz funder_Lizad funder_Local funder_Loliondo Parish funder_Loliondo Secondary funder_Long Ga funder_Longido Sec School funder_Loocip funder_Losaa-kia Water Supply funder_Losakia Water Supply funder_Lotary Club funder_Lotary International funder_Lottery funder_Lottery Club funder_Louise Elucas Sala funder_Lowasa funder_Luali Kaima funder_Luchelegu Primary School funder_Luka funder_Luke Samaras Ltd funder_Lungwe funder_Lusajo funder_Luthe funder_Lutheran funder_Lutheran Church funder_Lvemp funder_Lvia funder_Lwf funder_Lwi funder_Lwi & Central Government funder_Lwiji Italy funder_M funder_M And P funder_Ma funder_Maajabu Pima funder_Maashumu Mohamed funder_Mac funder_Machibya Guma funder_Madaraweshi funder_Madra funder_Maerere funder_Mafwimbo funder_Magadini Makiwaru Water funder_Magadini-makiwaru Water funder_Magani funder_Magereza funder_Magige funder_Magoma Adp funder_Magu Food Security funder_Magul funder_Magutu Maro funder_Mahemba funder_Mahita funder_Majengo Prima funder_Maji Mugumu funder_Maju Mugumu funder_Makanga funder_Makanya Sisal Estate funder_Makapuchini funder_Makli funder_Makombo funder_Makona funder_Makondakonde Water Population funder_Makonde funder_Makonde Water Population funder_Makonde Water Supply funder_Makonder funder_Makori funder_Makoye Masanzu funder_Makundya funder_Makuru funder_Makusa funder_Malec funder_Males funder_Maliasili funder_Malola funder_Mama Ku funder_Mama Mery Nagu funder_Mamad funder_Mamaz funder_Mambe funder_Mamlaka Ya Maji Ngara funder_Mamvua Kakungu funder_Mango Tree funder_Manyota Primary School funder_Manyovu Agriculture Institute funder_Marafin funder_Marafip funder_Marke funder_Maro funder_Maro Kyariga funder_Marumbo Community funder_Masai Land funder_Maseka Community funder_Masese funder_Mashaka funder_Masista funder_Maswi Drilling Co. Ltd funder_Mataro funder_Matata Selemani funder_Matimbwa Sec funder_Matogoro funder_Matyenye funder_Mavuno Ngo funder_Maxavella funder_Mayiro funder_Mazaro Kabula funder_Mbeje funder_Mbiusa funder_Mbiuwasa funder_Mboma funder_Mboni Salehe funder_Mbozi District Council funder_Mbozi Hospital funder_Mbozi Secondary School funder_Mbunge funder_Mbuzi Mawe funder_Mbwana Omari funder_Mbwiro funder_Mchukwi Hos funder_Md funder_Mdc funder_Mdgwc funder_Mdrdp funder_Meco funder_Medicine funder_Meko Balo funder_Mem funder_Member O funder_Member Of Parliament funder_Member Of Perliament Ahmed Ali funder_Menon funder_Meru Concrete funder_Methodist Church funder_Mfuko Wa Jimbo funder_Mfuko Wa Jimbo La Magu funder_Mganga funder_Mgaya funder_Mgaya Masese funder_Mgm funder_Mh An funder_Mh Kapuya funder_Mh.Chiza funder_Mh.J S Sumari funder_Mheza Distric Counc funder_Mhina funder_Mhoranzi funder_Mhuzu funder_Mi funder_Miab funder_Mianz funder_Mikumi G funder_Milenia funder_Mileniam Project funder_Millenium funder_Minis funder_Ministry Of Agricultura funder_Ministry Of Education funder_Ministry Of Healthy funder_Ministry Of Water funder_Minjingu funder_Miomb funder_Misana George funder_Misheni funder_Misri Government funder_Missi funder_Missio funder_Mission funder_Missionaries funder_Missionary funder_Mitema funder_Miziriol funder_Mkinga Distric Cou funder_Mkinga Distric Coun funder_Mkulima funder_Mkuluku funder_Mkurugenzi funder_Mkuyu funder_Mmanya Abdallah funder_Mmem funder_Mmg Gold Mine funder_Mnyama funder_Mnyambe funder_Mnyamisi Jumaa funder_Morad funder_Moradi funder_Moravian funder_Moroil funder_Morovian funder_Morovian Church funder_Morrovian funder_Moses funder_Moshono Adp funder_Moslem Foundation funder_Mosque funder_Mosqure funder_Motiba Manyanya funder_Motiba Wambura funder_Mow funder_Moyowosi Basin funder_Mp funder_Mp Mloka funder_Mp Mzeru funder_Mrtc funder_Ms funder_Ms-danish funder_Msabi funder_Msf funder_Msf/tacare funder_Msigw funder_Msigwa funder_Msiki funder_Msikiti funder_Msikiti Masji funder_Msikitini funder_Mstiiti funder_Msudi funder_Mtambo funder_Mtc funder_Mtewe funder_Mtibwa S funder_Mtuwasa funder_Mtuwasa And Community funder_Muhameid Na funder_Muhindi funder_Muhochi Kissaka funder_Muislam funder_Muivaru funder_Mungaya funder_Municipal Council funder_Muniko funder_Musilim Agency funder_Muslim Society funder_Muslim World funder_Muslimehefen International funder_Muslims funder_Muslimu Society(shia) funder_Muwasa funder_Muwsa funder_Mwakabalula funder_Mwakalinga funder_Mwakifuna funder_Mwalimu Maneromango Muhenzi funder_Mwalimu Muhenza funder_Mwalimu Omari funder_Mwamama funder_Mwamvita Rajabu funder_Mwanaisha Mwidadi funder_Mwanamisi Ally funder_Mwanga Town Water Authority funder_Mwanza funder_Mwaya Mn funder_Mwelia Estate funder_Mwigicho funder_Mwingereza funder_Mwinjuma Mzee funder_Mwita funder_Mwita Kichere funder_Mwita Lucas funder_Mwita Machota funder_Mwita Mahiti funder_Mwita Muremi funder_Mwl. Nyerere Sec. School funder_Mwl.Mwita funder_Mws funder_Mzee Don funder_Mzee Lesilali funder_Mzee Mabena funder_Mzee Mkungata funder_Mzee Ngwatu funder_Mzee Omari funder_Mzee Salum Bakari Darus funder_Mzee Sh funder_Mzee Shindika funder_Mzee Smith funder_Mzee Waziri Tajari funder_Mzee Yassin Naya funder_Mzinga A funder_Mzung funder_Mzungu funder_Mzungu Paul funder_Nado funder_Namungo Miners funder_Nasan funder_Nassan funder_Nassor Fehed funder_Natherland funder_Natio funder_National Park funder_National Rural funder_National Rural (wb) funder_National Rural And Hfa funder_Nazalet Church funder_Nazaleti funder_Nazareth Church funder_Ncaa funder_Nchagwa funder_Ncs funder_Nddp funder_Ndm funder_Ndolezi funder_Ndorobo Tours funder_Ndrdp funder_Nduku Village funder_Neemia Mission funder_Nerthlands funder_Nethalan funder_Nethe funder_Netherla funder_Netherland funder_Netherlands funder_Ngelepo Group funder_Nginila funder_Ngiresi Village Community funder_Ngo funder_Ngos funder_Ngumi funder_Niger funder_Nimrodi Mkono[mb] funder_Nipon & Panoco funder_Nirad funder_Njula funder_Nk funder_Nmdc India funder_No funder_Noeli Mahobokela funder_None funder_Norad funder_Norad /government funder_Norad/ Kidep funder_Norad/ Tassaf funder_Norad/ Tassaf Ii funder_Norad/government funder_Norad/japan funder_Norad/rudep funder_Norani funder_Nordic funder_Norplan funder_Norway Aid funder_Noshad funder_Noshadi funder_Not Known funder_Nrwssp funder_Nsc funder_Nssf funder_Nwssp funder_Nyabarongo Kegoro funder_Nyabibuye Islamic Center funder_Nyabweta funder_Nyahale funder_Nyakaho Mwita funder_Nyamasagi funder_Nyamingu Subvillage funder_Nyamongo Gold Mining funder_Nyamuhanga Maro funder_Nyangere funder_Nyanza Road funder_Nyeisa funder_Nyitamboka funder_O funder_Oak'zion' And Bugango B' Commu funder_Obadia funder_Obc funder_Oda funder_Oikos funder_Oikos E .Africa/european Union funder_Oikos E.Africa/ European Union funder_Oikos E.Africa/european Union funder_Oikos E.Afrika funder_Okutu Village Community funder_Ola funder_Old Nyika Company funder_Oldadai Village Community funder_Oldonyolengai funder_Olgilai Village Community funder_Olumuro funder_Omar Ally funder_Omar Rafael funder_Omary Issa funder_One Desk One Chair funder_One Un funder_Opec funder_Orphanage funder_Otelo Bussiness Company funder_Others funder_Othod funder_Overland High School funder_Overnment funder_Owner Pingo C funder_Ox funder_Oxfam funder_Oxfam Gb funder_Oxfarm funder_Oxfarm Gb funder_P funder_Pad funder_Padep funder_Padep(mifugo) funder_Padi funder_Padri funder_Padri K funder_Padri Matayo funder_Paffect Mwanaindi funder_Pag Church funder_Pancrasi funder_Pangadeco funder_Pankrasi funder_Panone funder_Parastatal funder_Parastatal An funder_Partage funder_Paskali funder_Pataji funder_Patrick funder_Patuu funder_Paulo Sange funder_Pci funder_Pdi funder_Peace Cope funder_Pema funder_Pentecost funder_Pentecosta Church funder_Pentecosta Seela funder_Pentecostal funder_Pentecostal Church funder_Pentecostal Hagana Sweeden funder_Pentekoste funder_People From Egypt funder_People From Japan funder_People Of Japan funder_People Of Sweden funder_Perusi Bhoke funder_Peter funder_Peter Mayiro funder_Peter Ngereka funder_Peter Tesha funder_Peters funder_Petro Patrice funder_Pidp funder_Piscop funder_Piscope funder_Pius Msekwa funder_Piusi funder_Plan funder_Plan Int funder_Plan Internatio funder_Plan International funder_Plan Tanzania funder_Pmo funder_Po funder_Poland Sec School funder_Pori La Akiba Kigosi funder_Pr funder_Presadom funder_Prf funder_Primo Zunda funder_Prince Medium School funder_Priva funder_Private funder_Private Co funder_Private Individual funder_Private Individul funder_Private Institutions funder_Private Owned funder_Private Person funder_Prodap funder_Prof. Saluati funder_Professor Ben Ohio University funder_Pwagu funder_Pwc funder_Q-sem Ltd funder_Quick funder_Quick Win funder_Quick Win Project funder_Quick Win Project /council funder_Quick Win/halmashauri funder_Quick Wings funder_Quick Wins funder_Quick Wins Scheme funder_Quicklw funder_Quickwi funder_Quickwins funder_Quik funder_Quwkwin funder_Qwckwin funder_Qwekwin funder_Qwick Win funder_Qwickwin funder_Qwiqwi funder_R funder_Rada funder_Rafael Michael funder_Rafik funder_Railway funder_Rajab Seleman funder_Rajabu Athumani funder_Ramadhani M. Mvugalo funder_Ramadhani Nyambizi funder_Ramsar funder_Raramataki funder_Rarymond Ekura funder_Ras funder_Rashid funder_Rashid Mahongwe funder_Rashid Seng'ombe funder_Raurensia funder_Rc funder_Rc Cathoric funder_Rc Ch funder_Rc Churc funder_Rc Church funder_Rc Church/centr funder_Rc Mi funder_Rc Missi funder_Rc Mission funder_Rc Missionary funder_Rc Mofu funder_Rc Msufi funder_Rc Njoro funder_Rc/dwe funder_Rc/mission funder_Rcchurch/cefa funder_Rdc funder_Rdws funder_Re funder_Red Cross funder_Redap funder_Redcross funder_Redekop Digloria funder_Redep funder_Redeso funder_Redet funder_Regina Group funder_Regional Water Engineer Arusha funder_Regwa Company Of Egpty funder_Regwa Company Of Egypt funder_Resolute funder_Resolute Golden Pride Project funder_Resolute Mining funder_Resolute Mininggolden Pride funder_Revocatus Mahatane funder_Rhobi funder_Rhobi Wambura funder_Richard M.Kyore funder_Ridep funder_Rilayo Water Project funder_Ringo funder_Ripati funder_Rips funder_Rished funder_Ro funder_Robert Kampala funder_Robert Loyal funder_Robert Mosi funder_Rocci Ross funder_Rodri funder_Romam Catholic funder_Roman funder_Roman Ca funder_Roman Catholic funder_Roman Catholic Rulenge Diocese funder_Roman Cathoric funder_Roman Cathoric -kilomeni funder_Roman Cathoric Church funder_Roman Cathoric Same funder_Roman Cathoric-same funder_Roman Church funder_Rombo Dalta funder_Rotary funder_Rotary Club funder_Rotary Club Australia funder_Rotary Club Kitchener funder_Rotary Club Of Chico And Moshi funder_Rotary Club Of Usa And Moshi funder_Rotary I funder_Rotaty Club funder_Rotery C funder_Rotte funder_Rssp funder_Ru funder_Ruangwa Lga funder_Rudep funder_Rudep /dwe funder_Rudep/norad funder_Rudri funder_Rumaki funder_Runda funder_Rundu Man funder_Runduman funder_Ruped funder_Rural funder_Rural Drinking Water Supply funder_Rural Water Department funder_Rural Water Supply funder_Rural Water Supply And Sanita funder_Rural Water Supply And Sanitat funder_Rusumo Game Reserve funder_Ruthe funder_Ruvu Darajani funder_Rv funder_Rvemp funder_Rwi funder_Rwsp funder_Rwsso funder_Rwssp funder_Rwssp Shinyanga funder_Rwssp/wsdp funder_Rwsssp funder_S funder_S. Kumar funder_S.P.C Pre-primary School funder_S.S Mohamed funder_Sabemo funder_Sabodo funder_Sadaqatun Jar funder_Safari Camp funder_Safari Roya funder_Sagaswe funder_Said Hashim funder_Said Omari funder_Said Salum Ally funder_Saidi Halfani funder_Sakwidi funder_Salamu Kita funder_Saleh Zaharani funder_Salehe funder_Salim Ahmed Salim funder_Salum Tambalizeni funder_Samlo funder_Samsoni funder_Samwel funder_Samweli funder_Samweli Kitana funder_Samweli Mshosha funder_San Pellegrino funder_Sangea District Council funder_Sanje Wa funder_Sao H funder_Saudia funder_Sauwasa funder_Save The Rain Usa funder_Sawaka funder_Scharnhorstgymnasium funder_Scholastica Pankrasi funder_Schoo funder_School funder_School Adm9nstrarion funder_Scott funder_Sda funder_Sda Church funder_Sdg funder_Sdp funder_Secondary funder_Secondary Schoo funder_Segera Estate funder_Seif Ndago funder_Sekei Village Community funder_Sekondari funder_Seleman Masoud funder_Seleman Rashid funder_Seleman Seif funder_Selestine Mganga funder_Selikali Ya Kijiji funder_Selous G funder_Sema funder_Sema S funder_Semaki funder_Semaki K funder_Senapa funder_Sengerema District Council funder_Sent Tho funder_Seram funder_Serena funder_Serian funder_Serikali funder_Serikali Ya Kijiji funder_Serikari funder_Serikaru funder_Seronera funder_Shabani Dunia funder_Shamte Said funder_Shanta funder_Sharifa Athuman funder_Shawasa funder_Shear Muslim funder_Shekhe funder_Shelisheli Commission funder_Shinyanga Shallow Wells funder_Shipo funder_Shirika La Kinamama Na Watot funder_Shule funder_Shule Ya Msingi funder_Shule Ya Msingi Ufala funder_Shule Ya Sekondari Ipuli funder_Si funder_Sida funder_Sido funder_Sijm funder_Silinda Yetu funder_Silvester Shilingi funder_Simango Kihengu funder_Simav funder_Simavi funder_Simba Lodge funder_Simmors funder_Simon Lusambi funder_Simone funder_Sindida Yetu funder_Singasinga funder_Singida Yetu funder_Singsinga funder_Sipdo funder_Sisa funder_Sisal Estste Hale funder_Siss M. Minghetti funder_Sister Francis funder_Sister Makulata funder_Siter Fransis funder_Siza Mayengo funder_Snv funder_Snv Ltd funder_Snv-swash funder_Sobodo funder_Socie funder_Soda funder_Soko La Magomeni funder_Solar Villa funder_Solidame funder_Solidarm funder_Soliderm funder_Songa Hospi funder_Songas funder_Songea District Council funder_Songea Municipal Counci funder_Sophia Wazir funder_Sowasa funder_Sswp funder_St funder_St Elizabeth Majengo funder_St Gasper funder_St Magreth Church funder_St Ph funder_Stabex funder_Staford Higima funder_Stansilaus funder_Stantons funder_Stephano funder_Stephano Paulo funder_Steven Nyangarika funder_Stp-sustainable Tan funder_Su-ki Jang funder_Sua funder_Suasa funder_Subvillage funder_Sumbawanga Munici funder_Summit For Water funder_Sumo funder_Sumriy funder_Sun-ja Na funder_Sunamco funder_Suwasa funder_Svn funder_Sw funder_Swalehe Rajab funder_Swash funder_Sweden funder_Swedish funder_Sweeden funder_Swidish funder_Swifti funder_Swisland/ Mount Meru Flowers funder_Swisland/mount Meru Flowers funder_Swiss If funder_Swiss Tr funder_T funder_Ta funder_Taasaf funder_Tabea funder_Taboma funder_Tabora Municipal Council funder_Tabraki funder_Tacare funder_Tacri funder_Tadeo funder_Tadepa funder_Tado funder_Taees funder_Taes funder_Tag funder_Tag Church funder_Tag Church Ub funder_Tag Patmo's funder_Tahea funder_Taipo funder_Tajiri Jumbe Lila funder_Tanap funder_Tanapa funder_Tancan funder_Tancro funder_Tanedaps Society funder_Tanesco funder_Tanga Cement funder_Tanload funder_Tanroad funder_Tansi funder_Tanz Egypt Technical Cooper funder_Tanz/egypt Technical Co-op funder_Tanza funder_Tanzakesho funder_Tanzaling funder_Tanzania funder_Tanzania /egypt funder_Tanzania Compasion funder_Tanzania Egypt Technical Co Op funder_Tanzania Journey funder_Tarangire Park funder_Tardo funder_Tareto funder_Tasa funder_Tasad funder_Tasae funder_Tasaf funder_Tasaf 1 funder_Tasaf And Lga funder_Tasaf And Mmem funder_Tasaf Ii funder_Tasaf/dmdd funder_Tasaf/tlc funder_Tasafu funder_Tasef funder_Tasf funder_Tassaf funder_Tassaf I funder_Tassaf Ii funder_Tassaf/ Danida funder_Tbl funder_Tcrs funder_Tcrs /care funder_Tcrs /government funder_Tcrs Kibondo funder_Tcrs.Tlc funder_Tcrs/care funder_Tcrs/village Community funder_Tcrst funder_Tdft funder_Tdrs funder_Team Rafiki funder_Tempo funder_Ten Degree Hotel funder_Teonas Wambura funder_Teresa Munyama funder_Tgrs funder_Tgt funder_Tgts funder_Tgz funder_The Desk And Chair Foundat funder_The Isla funder_The Islamic funder_The People Of Japan funder_Theo funder_Theonas Mnyama funder_Thomasi Busigaye funder_Timothy Shindika funder_Tina/africare funder_Tingatinga Sec School funder_Tirdo funder_Tkc funder_Tlc funder_Tlc/community funder_Tlc/emmanuel Kasoga funder_Tlc/jenus Malecha funder_Tlc/john Majala funder_Tlc/nyengesa Masanja funder_Tlc/samora funder_Tlc/seleman Mang'ombe funder_Tlc/sorri funder_Tlc/thimotheo Masunga funder_Tltc funder_Tom funder_Toronto-estate funder_Total Land Care funder_Total Landcare funder_Totaland Care funder_Totoland funder_Totoland Care funder_Tove funder_Town Council funder_Tpp funder_Tquick Wings funder_Trach funder_Trachoma funder_Trc funder_Tredep funder_Tredsp funder_Tree Ways German funder_Treedap funder_Tridep funder_Tulawaka Gold Mine funder_Tumaini Fund funder_Tuwasa funder_Twe funder_Twende Pamoja funder_Twesa funder_Twice funder_Twig funder_Tz As funder_Tz Japan funder_U.S.A funder_Uaacc funder_Ubalozi Wa Japani funder_Ubalozi Wa Marekani funder_Udc/sema funder_Uhai Wa Mama Na Mtoto funder_Uhoranzi funder_Ukida funder_Ukiligu funder_Umoja funder_Un funder_Un Habitat funder_Un/wfp funder_Undp funder_Undp/aict funder_Undp/ilo funder_Unesco funder_Unhcr funder_Unhcr/danida funder_Unhcr/government funder_Unice funder_Unice/ Cspd funder_Unicef funder_Unicef/ Csp funder_Unicef/african Muslim Agency funder_Unicef/central funder_Unicef/cspd funder_Uniceg funder_Unicet funder_Unicrf funder_Uniseg funder_Unknown funder_Unp/aict funder_Upendo Primary School funder_Upper Ruvu funder_Ur funder_Urt funder_Us Embassy funder_Usa Embassy funder_Usaid funder_Usaid/wfp funder_Usambala Sister funder_Ustawi funder_Uvimaki funder_Uyoge funder_Vc funder_Veo funder_Vgovernment funder_Vi funder_Vicfish funder_Vicfish Ltd funder_Vickfis funder_Vifaf funder_Vifafi funder_Vififi funder_Villa funder_Villaers funder_Village funder_Village Communi funder_Village Community funder_Village Contributio funder_Village Council funder_Village Council/ Haydom Luther funder_Village Council/ Rose Kawala funder_Village Fund funder_Village Government funder_Village Govt funder_Village Office funder_Village Res funder_Village Water Commission funder_Villagers funder_Villagers Mpi funder_Villages funder_Villege Council funder_Villegers funder_Villlage Contributi funder_Vn funder_Vodacom funder_Vttp funder_Vw funder_Vwc funder_Vwcvc funder_Vwcvwc funder_Vwt funder_W funder_W.B funder_W.C.S funder_W.D & funder_W.D & I. funder_W.D.&.I. funder_W.F.D.P funder_Wafidhi Wa Ziwa T funder_Waheke funder_Wahidi funder_Waitaliano funder_Wajerumani funder_Walokole funder_Wama funder_Wamakapuchini funder_Wamarekani funder_Wame Mbiki funder_Wamisionari Wa Kikatoriki funder_Wamissionari Wa Kikatoriki funder_Wanakijiji funder_Wanan funder_Wananchi funder_Wanginyi Water funder_Wards funder_Warento funder_Wate Aid/sema funder_Water funder_Water /sema funder_Water Aid /sema funder_Water Aid/dwe funder_Water Aid/sema funder_Water Authority funder_Water Board funder_Water Department funder_Water Project Mbawala Chini funder_Water Se funder_Water Sector Development funder_Water User As funder_Water User Group funder_Wateraid funder_Watu Wa Marekani funder_Watu Wa Ujerumani funder_Wb / District Council funder_Wbk funder_Wcst funder_Wd And Id funder_Wdp funder_Wdsp funder_Weepers funder_Wfp funder_Wfp/tnt funder_Wfp/tnt/usaid funder_Wfp/usaid funder_Wfp/usaid/tnt funder_William Acleus funder_Williamson Diamond Ltd funder_Wilson funder_Winkyens funder_Wirara Ya Maji funder_Wizara funder_Women Fo Partnership funder_Women For Partnership funder_World Bank funder_World Bank/government funder_World Vision funder_World Vision/ Kkkt funder_World Vision/adra funder_World Vision/rc Church funder_Worldvision funder_Woyege funder_Wrssp funder_Wsdo funder_Wsdp funder_Wsdp & Sdg funder_Wspd funder_Wssp funder_Wua funder_Wua And Ded funder_Wug And Ded funder_Wvc funder_Wvt funder_Wwf funder_Wwf / Fores funder_Yaole funder_Yasi Naini funder_Yasini funder_Yasini Selemani funder_Zaben funder_Zaburi And Neig funder_Zao funder_Zao Water Spring funder_Zao Water Spring X funder_Zinduka funder_Zingibali Secondary funder_funder_missing installer_- installer_0 installer_A.D.B installer_AAR installer_ABASIA installer_ABD installer_ABDALA installer_ABDUL installer_AC installer_ACORD installer_ACRA installer_ACT installer_ACT MARA installer_ACTION AID installer_ACTIVE TANK CO installer_ACTIVE TANK CO LTD installer_AD installer_ADAP installer_ADB installer_ADP installer_ADP Busangi installer_ADRA installer_ADRA /Government installer_ADRA/Government installer_AF installer_AFRICA installer_AFRICA MUSLIM installer_AFRICAN DEVELOPMENT FOUNDATION installer_AFRICAN REFLECTIONS FOUNDATION installer_AGRICAN installer_AI installer_AIC installer_AIC KI installer_AICT installer_AIMGOLD installer_AIXOS installer_ALIA installer_ALLYS installer_AMP Contract installer_AMP Contracts installer_AMP contractor installer_AMREF installer_ANGLI installer_ANGLIKANA CHURCH installer_ANGRIKANA installer_ANSWAR installer_APM installer_AQAL installer_AQUA BLUES ANGELS installer_AQUA WEL installer_AQUA Wat installer_AQUA Wel installer_AQUARMAN DRILLERS installer_ASDP installer_ATIGH BUILDINGS installer_AUSTRALIA installer_AUWASA installer_Aartisa installer_Abdallah Ally Wazir installer_Accra installer_Action Aid installer_Action Contre La Faim installer_Action Contre la Faim installer_Active KMK installer_Active MKM installer_Adam installer_Adam Kea installer_Adam mualuaka installer_Adra installer_Adra /Community installer_Adra/ Community installer_Adra/Community installer_Adrs installer_Af installer_Africa installer_Africa Amini Alama installer_Africa Islamic Agency Tanzania installer_Africa M installer_Africa Muslim Agenc installer_African Muslims Age installer_African Realief Committe of Ku installer_Africaone installer_Africaone Ltd installer_Africare installer_Afroz Ismail installer_Ahmad installer_Al Ha installer_Alex moyela installer_Altai Co. ltd installer_Amadi installer_Amari installer_Amboni Plantation installer_Amboni plantation installer_Ambrose installer_Amec installer_American installer_Amref installer_Angli installer_Anglica Church installer_Anglican installer_Anglican Church installer_Anglican Uganda installer_Anglican church installer_Anglikan installer_Anglikana installer_Angrikana installer_Ansnani Murij installer_Aqual installer_Aqwaman Drilling installer_Ar installer_Arab community installer_Arabs Community installer_Ardhi Instute installer_Ardhi Water Wells installer_Ardhi Water well installer_Ardhi and PET Companies installer_Ardhi water well installer_Arisan installer_Arrian installer_Artisan installer_Athumani Janguo installer_Athumani Issa installer_Atisan installer_Atlas installer_Atlas Company installer_B.A.P installer_BABTEST installer_BALYEH installer_BAPTIST CHURCH installer_BAPTIST CHURCH OF TANZANIA installer_BATIST CHURCH installer_BEMANDA installer_BENGUKA installer_BESADA installer_BESADO installer_BFFS installer_BGM installer_BGSS installer_BILILA installer_BIORE installer_BKHWS installer_BOAZI installer_BOMA SAVING installer_BR installer_BRA installer_BRUDER installer_BSF installer_BUKUMB installer_BUMABU installer_Baadela installer_Babu Sajin installer_Babu Sajini installer_Bahresa installer_Bao installer_Baric installer_Barry A. Murphy installer_Belgiam Government installer_Belgij installer_Benjamin installer_Bhoke Mwita installer_Billy Phillips installer_Bingo foundation installer_Bingo foundation Germany installer_BioRe installer_Biore installer_Birage installer_Bobby installer_Bokera W installer_Boni installer_Bonite Bottles Ltd installer_Brad installer_Bridge north installer_Britain installer_British installer_British colonial government installer_British government installer_Buguba installer_Building works Company Ltd installer_Building works engineering Ltd installer_Bulyahunlu Gold Mine installer_Buruba installer_Busoga trust installer_C installer_CALTAZ KAHAMA installer_CAP installer_CARE installer_CARE/CIPRO installer_CARITAS installer_CARTAS installer_CARTAS Tanzania installer_CBHCC installer_CCEC installer_CCP installer_CCPK installer_CCPS installer_CCT installer_CDT installer_CDTF installer_CEFA installer_CEFA/rc church installer_CENTRAL GOVERNMENT installer_CES installer_CF Builders installer_CG installer_CG/RC installer_CGI installer_CH installer_CHANDE CO installer_CHANI installer_CHELA installer_CHENI installer_CHINA installer_CHINA Co. installer_CHINA HENAN CONSTUCTION installer_CHINA HENAN CONTRACTOR installer_CHONJA CHARLES installer_CHRISTAN OUTRICH installer_CHRISTIAN OUTRICH installer_CHURC installer_CIP installer_CIPRO installer_CIPRO/CARE installer_CIPRO/CARE/TCRS installer_CIPRO/Government installer_CITIZEN ENGINE installer_CJEJ0 installer_CJEJOW installer_CJEJOW CONSTRUCTION installer_CMSR installer_COBASHEC installer_COCANE installer_COCU installer_COEK installer_COEW installer_COMMU installer_COMMUNITY installer_COMMUNITY BANK installer_COMPASION INTERNATIO installer_CONCE installer_CONCERN installer_CONS installer_COSMOS ENG LTD installer_COUN installer_COW installer_COWI installer_COYI installer_CPRO installer_CRAELIUS installer_CRISTAN OUTRICH installer_CRS installer_CSPD installer_CVS Miss installer_Caltas installer_Caltus installer_Calvary connection installer_Camartec installer_Canada na Tanzania installer_Canop installer_Care international installer_Care international installer_Carmatech installer_Cast installer_Cathoric installer_Ce installer_Cebtral Government installer_Cefa installer_Cental Government installer_Centr installer_Centra Government installer_Centra govt installer_Central Government installer_Central basin installer_Central government installer_Central govt installer_Cetral government /RC installer_Ch installer_Chacha installer_Chacha Issame installer_Chama cha Ushirika installer_Chamavita installer_Charlotte Well installer_Chiko installer_China installer_Chinese installer_Christina Magoge installer_Christopher installer_Chuo installer_Chur installer_Church installer_Church Of Disciples installer_Cida installer_Clause workers installer_Claver installer_Co installer_College installer_Colonial Government installer_Colonial government installer_Commu installer_Communit installer_Community installer_Compa installer_Company installer_Comunity installer_Conce installer_Concen installer_Concern installer_Concern /government installer_Concern/Government installer_Cons installer_Consultant installer_Consultant Engineer installer_Consultant and DWE installer_Consulting Engineer installer_Consulting engineer installer_Consuting Engineer installer_Conta installer_Contr installer_Cosmo installer_Cosmos Engineering installer_Coun installer_Counc installer_Council installer_Crety installer_Cultus installer_D installer_D$L installer_DA installer_DADIS installer_DADP installer_DADS installer_DADS/Village community installer_DADS/village Community installer_DADS/village community installer_DAK installer_DALDO installer_DANIAD installer_DANID installer_DANIDA installer_DANIDA CO installer_DANIDS installer_DANNIDA installer_DANNY installer_DAR ES SALAAM ROUND TABLE installer_DARDO installer_DASIP installer_DASP installer_DASSIP installer_DAWASA installer_DAWASCO installer_DAWE installer_DBFPE installer_DBSP installer_DBSPE installer_DCCA installer_DCT installer_DDCA installer_DDCA CO installer_DDP installer_DDSA installer_DE installer_DED installer_DEE installer_DENISH installer_DESK A installer_DESK C installer_DESK a installer_DEW installer_DFID installer_DH installer_DHV installer_DHV Moro installer_DIMON installer_DIOCESE OF MOUNT KILIMANJARO installer_DISTRICT COUNCIL installer_DIWANI installer_DMDD installer_DMDD/SOLIDER installer_DMK installer_DMMD installer_DO installer_DODDEA installer_DSP installer_DSPU installer_DSV installer_DUWAS installer_DV installer_DW installer_DW E installer_DW# installer_DW$ installer_DWE installer_DWE & LWI installer_DWE /TASSAF installer_DWE& installer_DWE/ installer_DWE/Anglican church installer_DWE/TASSAF installer_DWE/Ubalozi wa Marekani installer_DWEB installer_DWE} installer_DWR installer_DWSP installer_DWT installer_DWW installer_Da installer_Danda installer_Danid installer_Daniel installer_Dar es salaam Technician installer_Dawasco installer_Deogra installer_Desk and chair foundation installer_Deus Ndege installer_Dhinu installer_Di installer_Dina installer_Diocese of Geita installer_Distri installer_Distric Water Department installer_District Council installer_District COUNCIL installer_District Community j installer_District Counci installer_District Council installer_District Water Department installer_District council installer_District water depar installer_District water department installer_Diwani installer_Dmdd installer_Do installer_Dokta Mwandulami installer_Domnik installer_Dr. Matobola installer_Dr. Matomola installer_Dr.Matobola installer_Dr.Matomola installer_Dwe installer_Dydrotec installer_E ETO installer_EA installer_ECO LODGE installer_EF installer_EFAM installer_EFG installer_EGYPT installer_EGYPT REGWA installer_EL installer_ELCA installer_ELCT installer_EMANDA installer_EMANDA BUILDERS installer_EMAYO installer_ENGINEERS WITHOUT BORDER installer_ENO installer_ERETO installer_ESAWA installer_EWE installer_Eastmeru medium School installer_Edward installer_Efarm installer_Egypt Government installer_Egypt Technical Co Operation installer_Elias Mahemba installer_Elina installer_Elius Chacha installer_Eliza installer_Embasy of Japan in Tanzania installer_Emmanuel Kiswagala installer_Emmanuel kitaponda installer_Engarasero villagers installer_Engin installer_Enyuati installer_Enyueti installer_Ester Ndege installer_European Union installer_Exaud Msambwa installer_F installer_FAO installer_FARM-AFRICA installer_FAUSTINE installer_FIDA installer_FILEX MUGANGA installer_FIN WATER installer_FINI WATER installer_FINI Water installer_FINLAND installer_FINN WATER installer_FLORESTA installer_FOLAC installer_FPCT installer_FPCT Church installer_FPTC installer_FRANKFURT installer_FRESH WATER PLC ENGLAND installer_FURAHIA TRADING installer_FW installer_Fabia installer_Farm Africa installer_Fathe installer_Faudh Tamimu installer_FiNI WATER installer_Filber installer_Fin Water installer_Fin water installer_FinW installer_FinWate installer_FinWater installer_Fini Water installer_Fini water installer_Finland Government installer_Finwater installer_Foreigne installer_Free Pentecoste Church of Tanz installer_Frida mokeki installer_Friedkin conservation fund installer_Friend from UN installer_G.D&I.D installer_GACHUMA CONSTRUCTION installer_GACHUMA GINERY installer_GAICA installer_GD&ID installer_GDP installer_GEN installer_GEOCHAINA installer_GEOTAN installer_GERMAN installer_GERMAN MISSIONSRY installer_GERMANY MISSIONARY installer_GETDSC00 installer_GGM installer_GIDA contractor installer_GLOBAL RESOURCE CO installer_GLOBAL RESOURCE CONSTRUCTION installer_GOVER installer_GOVERM installer_GOVERN installer_GOVERNME installer_GOVERNMENT installer_GRA installer_GRA TZ MUSOMA installer_GREINAKER installer_GREINEKER installer_GRUMENTI installer_GRUMET installer_GRUMETI installer_GRUMETI SINGITA installer_GTZ installer_GURUMETI SAGITA installer_GURUMETI SAGITA CO installer_Ga installer_Gain installer_Geita Goldmain installer_George installer_George mtoto installer_George mtoto company installer_Gerald installer_Gerald Mila installer_Germany installer_Gesine installer_Getekwe installer_Go installer_Gold star installer_Goldmain installer_Goldstar installer_Goldwill foundation installer_Got installer_Gove installer_Gover installer_Governme installer_Governmen installer_Government installer_Government /Community installer_Government /SDA installer_Government /TCRS installer_Government /World Vision installer_Government and Community installer_Government of Misri installer_Government/TCRS installer_Grail Mission Kiseki bar installer_Great Lakes installer_Greec installer_Green installer_Grobal resource alliance installer_Grobal resource alliance installer_Grumeti fund installer_Gtz installer_Gwasco installer_Gwasco L installer_Gwaseco installer_H installer_H4CCP installer_HAAM installer_HAIDOMU LUTHERAN CHURCH installer_HAM installer_HAPA installer_HAPA SINGIDA installer_HASHI installer_HAYDOM LUTHERAN HOSPITAL installer_HDV installer_HE installer_HEESAW installer_HESAW installer_HESAWA installer_HESAWQ installer_HESAWS installer_HESAWZ installer_HIAP installer_HOLAND installer_HOLLAND installer_HOTEL AND LODGE TANZANIA installer_HOTELS AND LOGGS TZ LTD installer_HOWARD HUMFREYS installer_HPA installer_HSW installer_HW/RC installer_Ha installer_Halimashauli installer_Halmashauli installer_Halmashauri installer_Halmashauri wilaya installer_Halmashauri ya manispa tabora installer_Halmashauri ya manispa tabora installer_Halmashauri ya mburu installer_Halmashauri ya wilaya installer_Halmashauri ya wilaya sikonge installer_Halmashauri/Quick win project installer_Hamis Makombo installer_Hamisi Fidia installer_Handeni Trunk Main installer_Handeni Trunk Main( installer_Hanja installer_Hanja Lt installer_Hans installer_Happy watoto foundation installer_Hasawa installer_Hasnein Murij installer_Healt installer_Hearts helping hands.Inc. installer_Hemed Abdalkah installer_Hemed Abdallah installer_Henure Dema installer_Heri mission installer_Hery installer_HesaWa installer_Hesawa installer_Hesawz installer_Hesewa installer_Hilfe Fur Bruder installer_Hindu installer_Holili water supply installer_Hospi installer_Hospital installer_Howard and Humfrey Consultants installer_Howard and humfrey consultant installer_Huches installer_Humfreys Co installer_Hussein Ayubu installer_Hydom Luthelani installer_Hydrotec installer_I.E.C installer_IADO installer_ICAP installer_ICF/TWESA installer_ICS installer_IDARA installer_IDC installer_IDEA installer_IDYDC installer_IFAD installer_ILCT installer_IN installer_INDIVIDUAL installer_INDIVIDUALS installer_IRAN GOVERN installer_IRC installer_IREVEA SISTER installer_IS installer_ISF installer_ISF / TASAFF installer_ISF and TACARE installer_ISF/Government installer_ISF/TACARE installer_ISSAA KANYANGE installer_ISSAC MOLLEL installer_ISSAC MOLLEl installer_ITALI installer_IUCN installer_Icf installer_Idara ya Maji installer_Idara ya maji installer_Ifakara installer_Igolola community installer_Ikela Wa installer_Ilaramataki installer_Ilolangulu water supply installer_Ilwilo community installer_In installer_Indi installer_India installer_Indiv installer_Individual installer_Individuals installer_Insititutiona installer_Institution installer_Institutional installer_Inter installer_Internal Drainage Basin installer_International Aid Services installer_Inves installer_Ir installer_Is installer_Islam installer_Islamic installer_Islamic Agency Tanzania installer_Islamic community installer_Issa Mohamedi Tumwanga installer_Italian government installer_Italy government installer_J LH CO LTD installer_J mal Abdallah installer_J. Mc installer_JACKSON MAHAMBO installer_JAICA installer_JAICA CO installer_JALCA installer_JANDU installer_JANDU PLUMBER CO installer_JANDU PLUMBER CO installer_JAPAN installer_JAPAN EMBASSY installer_JAWABU installer_JBG installer_JESHI LA WOKOVU installer_JHL CO LTD installer_JI installer_JICA installer_JIKA installer_JLH CO LTD installer_JSICA installer_JUIN installer_JUIN CO installer_JUINE CO installer_JWTZ installer_Ja installer_Jacks installer_Jackson Makore installer_Jafary Mbaga installer_Jaica installer_Japan installer_Japan Government installer_Jeica installer_Jerem installer_Jeshi la Wokovu installer_Jeshi la wokovu installer_Jeshi la wokovu [cida] installer_Jica installer_Jicks installer_Jika installer_Jiks installer_Jimmy installer_John gemuta co installer_John kiminda co installer_Joseph nkunda installer_Ju installer_Judge Mchome installer_Juma installer_Juma Makulilo installer_Juma Maro installer_Juma Ndege installer_Jumaa installer_Jumanne installer_Jumanne Siabo installer_Jumuhia installer_Jumuiya installer_Justine Marwa installer_K installer_K/Primary installer_KA installer_KADP installer_KAEM installer_KAEMP installer_KAGERA MINE installer_KARUMBA BIULDIN installer_KARUMBA BIULDING COMPANY LTD installer_KARUMBA BIULDING CONTRACTOR installer_KARUMBA BUILDING COMPANY LTD installer_KASHERE installer_KASHWA installer_KAWINGA installer_KAYEMPU LTD installer_KC installer_KDC installer_KDPA installer_KEREBUKA installer_KIBO installer_KIDIJAS installer_KIDP installer_KILANGANI CO installer_KILI WATER installer_KILL WATER installer_KIM KIM CONSTRUCTION installer_KIMKUM installer_KINAPA installer_KISIRIRI ADP installer_KIUMA installer_KK installer_KKKT installer_KKKT CHURCH installer_KKKT Canal installer_KKKT DME installer_KKKT Katiti juu installer_KKKT Kilinga installer_KKKT Leguruki installer_KKKT MAREU installer_KKKT Ndrumangeni installer_KKKT _ Konde and DWE installer_KKKT-Dioces ya Pare installer_KKT installer_KKT C installer_KMCL installer_KMT installer_KOBERG installer_KOBERG Contractor installer_KOICA installer_KONOIKE installer_KOREA installer_KORKONEL installer_KOWI installer_KOYI installer_KTA C installer_KU installer_KUMKUM installer_KURRP installer_KUWAIT installer_KUWASA installer_KWIKWIZ installer_KYASHA ENTERPR installer_KYASHA ENTREPR installer_KYELA_MOROGORO installer_Kaembe installer_Kagulo installer_Kagunguli Secondary installer_Kahema installer_Kajima installer_Kalago enterprises Co.Ltd installer_Kalitasi installer_Kalitesi installer_Kalta installer_Kalugendo installer_Kalumbwa installer_Kaluwike installer_Kamama installer_Kamata project installer_Kambi Migoko installer_Kanamama installer_Kando installer_Kanisa installer_Kanisa katoliki installer_Kanisa la TAG installer_Kanisani installer_Kapelo installer_Karugendo installer_Kassim installer_Kata installer_Kauzeni installer_Ki installer_Kibaha Town Council installer_Kibo potry installer_Kidika installer_Kigoma municipal installer_Kigwa installer_Kijiji installer_Kikom installer_Kiliflora installer_Kilimarondo Parish installer_Kiliwater installer_Kiliwater r installer_Killflora /Community installer_Killflora/ Community installer_Kilol installer_Kilolo Star installer_Kilomber installer_Kilwa company installer_Kilwater installer_Kindoroko water project installer_Kinga installer_Kirdep installer_Kitiangare village community installer_Kitukuni water supply installer_Kiwanda cha Ngozi installer_Kizenga installer_KkKT installer_Kkkt installer_Ko installer_Kokeni installer_Konoike installer_Korogwe water works installer_Kuamu installer_Kuji foundation installer_Kuwait installer_Kuwaiti installer_Kuweit installer_Kwamdulu estate installer_Kwasenenge Group installer_Kyariga installer_L installer_LAMP installer_LC installer_LDEP installer_LEI installer_LENCH installer_LGA installer_LGCDG installer_LGQ installer_LINDALA CO installer_LION'S installer_LIPS installer_LIUWASSA installer_LIVI installer_LIZAD installer_LOCAL CONTRACT installer_LOLMOLOKI installer_LOMOLOKI installer_LONGIDO SEC SCHOOL installer_LOOCIP installer_LUKE SAMARAS LTD installer_LUNGWE installer_LUWASSA installer_LVA Ltd installer_LVIA installer_LWI installer_LWI &CENTRAL GOVERNMENT installer_Laizer installer_Laramatak installer_Latifu installer_Lawate fuka water su installer_Lawatefuka water sup installer_Leopad Abeid installer_Lga installer_Li installer_Linda installer_Lindi contractor installer_Lindi rural water department installer_Lion's installer_Lion's club installer_Lions club kilimanjaro installer_Livi installer_Living water international installer_Local installer_Local technician installer_Local l technician installer_Local te installer_Local technical installer_Local technical tec installer_Local technician installer_Local technitian installer_Locall technician installer_Localtechnician installer_Loliondo Parish installer_Losa-kia water suppl installer_Losaa-Kia water supp installer_Losakia water supply installer_Luali Kaima installer_Luka installer_Luleka installer_Luthe installer_Lutheran installer_Lutheran Church installer_M installer_M and P installer_MA installer_MACK DONALD CO LTD installer_MACK DONALD CONTRACTOR installer_MACK DONALD CONTRSCTOR installer_MAISHULE installer_MAIVARU installer_MAJ MUGUMU installer_MAJI MUGUMU installer_MAJI TECH installer_MAKAMA CONSTRUCTION installer_MAKE ENGINEERING installer_MAMAD installer_MANDIA CONSTRUCTION installer_MANGO TREE installer_MANYARA CONSTRUCTION installer_MARAFIN installer_MARAFIP installer_MASAI LAND installer_MASU COMPANY installer_MASWI installer_MASWI CO installer_MASWI COMPANY installer_MASWI DRILL installer_MASWI DRILLING installer_MASWI DRILLING CO. LTD installer_MAZI INVESTMENT installer_MBIUSA installer_MBIUWASA installer_MBOMA installer_MBULI CO installer_MBULU DISTRICT COUNCIL installer_MBUZI MAWE installer_MBWAMBO installer_MCHOME installer_MD installer_MDALA Contractor installer_MDRDP installer_MDRD_ installer_MECO installer_MEM installer_METHODIST CHURCH installer_MGM installer_MH Kapuya installer_MI installer_MIAB installer_MIDA installer_MINISTRY OF EDUCATION installer_MINISTRY OF WATER installer_MINISTRYOF WATER installer_MINJINGU installer_MISHENI installer_MISSION installer_MKON CONSTRUCTION installer_MKONG CONSTRUCTION installer_MKONGO BUILDING CONTRACTOR installer_MKONGO CONSTRUCTION installer_ML appro installer_MLADE installer_MLAKI CO installer_MLAKI CO installer_MMG GOLD MINE installer_MORNING CONSTRUCTION installer_MOSES installer_MOSQUE installer_MP installer_MP Mloka installer_MREMI CONTRACTOR installer_MS installer_MSABI installer_MSF installer_MSF/TACARE installer_MSIGWA installer_MSIKIT installer_MSIKITI installer_MSJI MUGUMU installer_MSUKWA CONSTRUCTION COMPANY installer_MTAMBO installer_MTC installer_MTN installer_MTUI installer_MTUWASA installer_MTUWASA and Community installer_MUSLIMEHEFEN INTERNATIONAL installer_MUWASA installer_MUWSA installer_MW installer_MWAKI CONTRACTO installer_MWAKI CONTRACTOR installer_MWANZA installer_MWE installer_MWE & installer_MWL NGASSA installer_MWS installer_Ma installer_Machibya installer_Mackd installer_Madra installer_Maendeleo ya jamii installer_Maerere installer_Magadini Makiwaru wa installer_Magadini-Makiwaru wa installer_Magani installer_Magoma ADP installer_Magul installer_Magutu Maro installer_Mahemba installer_Mahita installer_Maji Tech installer_Maji block installer_Maji tech Construction installer_Makala installer_Makanya Sisal Estate installer_Makonde installer_Makonde water Population installer_Makonde water population installer_Makonde water supply installer_Makori installer_Makoye installer_Makundya installer_Makuru installer_Makusa installer_Malec installer_Males installer_Maliasili installer_Mama Agnes Kagimbo installer_Mama Hamisa installer_Mama Kalage installer_Mama Kapwapwa installer_Mama joela installer_Mamaz installer_Mambe installer_Mamlaka ya maji ngara installer_Mamvua Kakungu installer_Manyota primary School installer_Manyovu Agriculture Institute installer_Mara inter product installer_Marafip installer_Marijan Ally Dadi installer_Mark installer_Marke installer_Maro installer_Martha Emanuel installer_Marti installer_Marumbo Community installer_Maseka community installer_Masele Nzengula installer_Masese installer_Mashaka M installer_MasjId Takuar installer_Masjid installer_Masjid Nnre installer_Maswi installer_Maswi Company installer_Maswi company installer_Maswi drilling co ltd installer_Mataro installer_Matiiti installer_Matogoro installer_Matyenye installer_Max Mbise installer_Mayiro installer_Mbozi District Council installer_Mbozi Hospital installer_Mbozi Secondary School installer_Mbunge installer_Mbusi Mwita installer_Mbwiro installer_Mchuk installer_Mdala Contractor installer_Megis installer_Member of Perliament Ahmed Ali installer_Meru Concrete installer_Mgaya installer_Mgaya Masese installer_Mgaya Mwita installer_Mh Kapuya installer_Mh.chiza installer_Mi installer_Mianz installer_Milenia installer_Mileniam installer_Mileniam project installer_Milenium installer_Ministry of water installer_Ministry of water engineer installer_Miomb installer_Misana george installer_Misri Government installer_Missi installer_Missio installer_Mission installer_Missionaries installer_Missionary installer_Miziriol installer_Mketo installer_Mkulima installer_Mkuluku installer_Mkuyu installer_Mohamad Masanga installer_Mohamed Ally installer_Mombo urban water installer_Mombo urban water installer_Mombo urban water s installer_Monmali installer_Moravian installer_Moroil installer_Morovi installer_Morovian installer_Morovian Church installer_Morovian church installer_Morrov installer_Morrovian installer_Moshono ADP installer_Mosque installer_Mosqure installer_Motiba Manyanya installer_Moyowosi installer_Mpang installer_Mpango wa Mwisa installer_Mr Chi installer_Mr Kas installer_Mr Kwi installer_Mr Luo installer_Mr Sau installer_Mrish installer_Msabi installer_Msagin installer_Msig installer_Msiki installer_Msikiti installer_Msikitini installer_Msuba installer_Msudi installer_Mtewe installer_Mtwara Technician installer_Mu installer_Muham installer_Muhindi installer_Muhochi Kissaka installer_Mungaya installer_Municipal installer_Municipal Council installer_Musa installer_Muslims installer_Muslimu Society(Shia) installer_Muwaza installer_Mviwa installer_Mw installer_Mwakabalula installer_Mwalimu Muhenza installer_Mwalimu Muhenzi installer_Mwamama installer_Mwamvita Rajabu installer_Mwanamisi Ally installer_Mwananchi Engineeri installer_Mwanga town water authority installer_Mwigicho installer_Mwita Lucas installer_Mwita Machoa installer_Mwita Mahiti installer_Mwita Muremi installer_Mwl. Nyerere sec. school installer_Mwl. Nyerere sec.school installer_Mwl.Mwita installer_Mzee Omari installer_Mzee Salum Bakari Darus installer_Mzee Smith installer_Mzee Waziri Tajari installer_Mzee Yassin Naya installer_Mzinga A installer_Mzung installer_Mzungu installer_Mzungu Paul installer_N.P.R. installer_NAFCO installer_NANRA contractor installer_NCAA installer_NDDP installer_NDM installer_NDRDP installer_NG installer_NGINIL installer_NGO installer_NGO'S installer_NIRAD installer_NJOONJOO installer_NMDC INDIA installer_NORA installer_NORAD installer_NORAD/ installer_NSC installer_NSSF installer_NYAHALE installer_NYAKILANGANI installer_NYAKILANGANI CO installer_NYAKILANGANI CO installer_NYAKILANGANI CONSTRUCTION installer_NZILA installer_Naishu Construction Co. ltd installer_Naishu construction co. ltd installer_Naishu construction co.ltd installer_Nampapanga installer_Nampopanga installer_Namungo installer_Nandra Construction installer_Napupanga installer_Nasan workers installer_Nassan workers installer_Nassor Fehed installer_Nathal Hamadi installer_Natio installer_Ncaa installer_Nchagwa installer_Ndanda missions installer_Nduku village installer_Neemia mission installer_Nerthlands installer_Netherlands installer_Ng'omango installer_Ngelepo group installer_Ngiresi village community installer_Nice installer_Niger installer_Nimrod Mkono[mb] installer_Njula installer_No installer_Norad installer_Norani installer_North installer_Noshad installer_Noshadi installer_Not kno installer_Not known installer_Ns installer_Nu installer_Nyabarongo Kegoro installer_Nyabibuye Islamic center installer_Nyabweta installer_Nyakaho Mwita installer_Nyakilanganyi installer_Nyamasagi installer_Nyamingu subvillage installer_Nyamongo Gold mining installer_Nyamwanji installer_Nyangere installer_Nyanza road installer_Nyeisa installer_Nyitamboka installer_O installer_O & installer_OBC installer_ODA installer_OIKOS installer_OLA installer_OLDONYOLENGAI installer_OLOMOLOKI installer_OLS installer_OMARY MONA installer_ONESM installer_OXFAM installer_OXFARM installer_Obadia installer_Oikos E .Africa installer_Oikos E Africa installer_Oikos E. Africa installer_Oikos E.Africa installer_Oikos E.Afrika installer_Okong'o installer_Oldadai village community installer_Olgilai village community installer_Omar Ally installer_Omar Rafael installer_Omari Mzee installer_Onesm installer_Ongan installer_Orien installer_Orphanage installer_Others installer_Othod installer_Overland High School installer_Ox installer_P installer_P.N.R. installer_PAD installer_PADEP installer_PART installer_PATUU installer_PCI installer_PET installer_PIDP installer_PIT COOPERATION LTD installer_PIUS CHARLES installer_PMO installer_PNR Da installer_PNR co installer_PRF installer_PRINCE MEDIUM SCHOOL installer_PRIV installer_PRIVATE INSTITUTIONS installer_PWD installer_Padep installer_Paffec installer_Pankrasi installer_Panone installer_Paskali installer_Pata installer_Patrick Nyanzwi installer_Paul installer_Pentecost church installer_Pentecosta installer_Pentecostal church installer_Pentekoste installer_People P installer_People from Egypt installer_Perusi Bhoke installer_Pet Corporation Ltd installer_Pet Coporation Ltd installer_Pet Corporation Ltd installer_Pet corporation Ltd installer_Peter Mayiro installer_Petro Patrice installer_Phase installer_Piscop installer_Plan Int installer_Plan Internationa installer_Plan International installer_Plan Tanzania installer_Po installer_Pori la akiba kigosi installer_Pr installer_Presadom installer_Prima installer_Primo installer_Priva installer_Privat installer_Private installer_Private Technician installer_Private company installer_Private individuals installer_Private owned installer_Private person installer_Prof. Saluati installer_Pump entecostal Sweeden installer_Q-sem Ltd installer_QUICKWINS installer_QUIK installer_QUKWIN installer_QUWKWIN installer_QWICKWIN installer_Quick win project installer_Quick win project /Council installer_Quick win/halmashauri installer_Quik installer_Qwick Win installer_R installer_R.C installer_RC installer_RC .Church installer_RC C installer_RC CATHORIC installer_RC CH installer_RC CHURCH installer_RC CHURCH BROTHER installer_RC Ch installer_RC Churc installer_RC Church installer_RC MISSION installer_RC MISSIONARY installer_RC Mi installer_RC Mis installer_RC Msufi installer_RC Njoro installer_RC church installer_RC church/CEFA installer_RC church/Central Gover installer_RC mission installer_RC/Mission installer_RCchurch/CEFA installer_RDC installer_RDDC installer_RDWS installer_RE installer_RED CROSS installer_REDAP installer_REDEP installer_REDESO installer_REGIONAL WATER ENGINEER ARUSHA installer_REGWA installer_REGWA COMPANY OF EGPTY installer_REGWA COMPANY OF EGYPT installer_REGWA Company installer_RESOLUTE MINING installer_RIDEP installer_RO installer_ROMAN CATHOLIC installer_RSSP installer_RUDE installer_RUDEP installer_RUDEP/ installer_RUNDAGA installer_RURAL WATER SUPPLY installer_RUVUMA BASIN installer_RW installer_RWE installer_RWE /Community installer_RWE Community installer_RWE/ Community installer_RWE/Community installer_RWE/DWE installer_RWE/TCRS installer_RWEDWE installer_RWET/WESA installer_RWI installer_RWSP installer_RWSSP installer_Railway installer_Ramadhani M. Mvugalo installer_Ramadhani Nyambizi installer_Raramataki installer_Rashid Mahongwe installer_Rashid Seng'ombe installer_Raurensia installer_Raymond Ekura installer_Rc installer_Rc Mission installer_Recoda installer_Red Cross installer_Red cross installer_Redep installer_Regina group installer_Region Water Department installer_Region water installer_Region water Department installer_Regional Water installer_Regwa Company installer_Resolute installer_Rhobi installer_Rhobi Wamburs installer_Rhoda installer_Richard M.Kyore installer_Rilayo water project installer_Rips installer_Rished installer_Robert Mosi installer_Robert kampala installer_Roma installer_Romam installer_Roman installer_Roman Ca installer_Roman Catholic installer_Roman Catholic Rulenge Diocese installer_Roman Cathoric -Kilomeni installer_Roman Cathoric -Same installer_Roman Cathoric Same installer_Roman Church installer_Roman catholic installer_Rombo Dalta installer_Rombo delta installer_Rotar installer_Rotary Club installer_Rotary Club of Chico and Moshi installer_Rotary Club of USA and Moshi installer_Rotary club installer_Rotary club Australia installer_Rotary club kitchener installer_Rotery c installer_Rotte installer_Rps installer_Ruangwa contractor installer_Rudri installer_Rundu man installer_RunduMan installer_Runduman installer_Rural installer_Rural Drinking Water Supply installer_Rural Drinkung Water Supply installer_Rural water Supply installer_Rusumo Game reserve installer_Ruthe installer_S installer_S.P.C Pre-primary School installer_SADIKI KANGELO installer_SAFARI CAMP installer_SAIDI CO installer_SAUWASA installer_SAXON installer_SAXON BUILDING CONTRACTOR installer_SAXON BUILDING CONTRACTOR installer_SAXON BUILDING CONTRACTORS installer_SCHOO installer_SCHOOL installer_SCOTT installer_SDA installer_SDA CHURCH installer_SDP installer_SELEPTA installer_SEMA installer_SEMA CO LTD installer_SEMA Consultant installer_SENAPA installer_SERENA installer_SERENS installer_SERONERA installer_SHAWASA installer_SHIP installer_SHIPO installer_SHIPO CONSTRUCTORS installer_SHULE installer_SHUWASA installer_SHY BUILDERS installer_SI installer_SIA Ltd installer_SIDA installer_SIJM installer_SIMAVI installer_SIMBA installer_SIMBA CO installer_SIMBA LODGE installer_SINGIDA YETU installer_SINGIDA YETU installer_SIPDO installer_SOLIDAME installer_SOLIDARM installer_SOLIDERM installer_SONGAS installer_SOWASA installer_SPAR DRILLING installer_SSU installer_STABEX installer_STAMPERS installer_SUA installer_SULEMAN IDD installer_SUMO installer_SUNAMCO installer_SUWASA installer_SW installer_Sa installer_Sabodo installer_Sacso installer_Safari Roya installer_Safe Rescue Ltd installer_Sagaswe installer_Said Hashim installer_Said Omari installer_Saidi Halfani installer_Sakwidi installer_Saleh Zaharani installer_Salehe installer_Salum Tambalizeni installer_Samsoni installer_Samwel installer_Samweli installer_Samweli Kitana installer_Sangea District Coun installer_Sanje Wa installer_Sao installer_Save the rain installer_Save the rain USA installer_Scholastica Pankrasi installer_Schoo installer_School installer_School Adm9nstrarion installer_School Adminstrarion installer_Secondary installer_Secondary school installer_Seff Mtambo installer_Segera Estate installer_Seif Ndago installer_Sekei village community installer_Sekondari installer_Seleman Masoud installer_Selikali installer_Selous G installer_Sengerema Water Department installer_Sent Tho installer_Seram installer_Serengeti District concil installer_Serikali installer_Serikali ya kijiji installer_Serikari installer_Sh installer_Shallow well installer_Shamte Said installer_Shekhe installer_Shelisheli commission installer_Shingida yetu installer_Shipo installer_Shule installer_Shule ya msingi installer_Shule ya msingi ufala installer_Shule ya sekondari Ipuli installer_Simango Kihengu installer_Simon Lusambi installer_Singasinga installer_Singida General Supplies Ltd installer_Singida yetu installer_Sisal Estste Hale installer_Sister makulata installer_Siza Mayengo installer_Socie installer_Songa installer_Songas installer_Songea District Coun installer_Sophia Wazir installer_St installer_St Elizabeth Majengo installer_St Gasper installer_St Magreth Church installer_St ph installer_Staford Higima installer_Stephano installer_Stephano Paulo installer_Steven Nyangarika installer_Sua installer_Subvillage installer_Sumbaw installer_Summit for water/Community installer_Sumry installer_Swalehe Rajabu installer_Sweeden installer_Swiss If installer_T installer_T. N. karugendo installer_TA installer_TACRI installer_TAG installer_TAG CHURCH installer_TAG Patmo's installer_TAHEA installer_TAIPO installer_TAN PLANT LTD installer_TANAP installer_TANAPA installer_TANAS installer_TANCAN installer_TANCRO installer_TANEDAPS Society installer_TANGA CEMENT installer_TANROAD installer_TANZAKESHO installer_TANZANIAN GOVERNMENT installer_TASA installer_TASAF installer_TASAF 1 installer_TASAF and Comunity installer_TASAF and MMEM installer_TASAF/ installer_TASAF/DMDD installer_TASAF/TLC installer_TASAFcitizen and LGA installer_TASF installer_TASSAF installer_TASSAF /TCRS installer_TASSAF/ TCRS installer_TASSAF/TCRS installer_TAWASA installer_TBL installer_TCRS installer_TCRS /CARE installer_TCRS /DWE installer_TCRS /Government installer_TCRS /TWESA installer_TCRS Kibondo installer_TCRS TWESA installer_TCRS a installer_TCRS.TLC installer_TCRS/ TASSAF installer_TCRS/ TWESA installer_TCRS/CARE installer_TCRS/DWE installer_TCRS/TLC installer_TCRS/TWESA installer_TCRS/village community installer_TDFT installer_TECH SUPPORT BEST CO installer_TGT installer_TGTS installer_THREE WAY GERMAN installer_TINA/Africare installer_TLC installer_TLC/Emmanuel Kasoga installer_TLC/Jenus Malecha installer_TLC/John Majala installer_TLC/Nyengesa Masanja installer_TLC/Samora installer_TLC/Seleman Mang'ombe installer_TLC/Sorri installer_TLC/Thimotheo Masunga installer_TLC/community installer_TLTC installer_TMN installer_TMP installer_TOVE installer_TPP installer_TPP TRUSTMOSHI installer_TRACHOMA installer_TRC installer_TREDEP installer_TRIDEP installer_TRUST installer_TSCR installer_TSRC installer_TUKWALE ENTERP installer_TUKWARE ENTERP installer_TUMAINI FUND installer_TUWASA installer_TWE installer_TWENDE PAMOJA installer_TWESA installer_TWESA /Community installer_TWESA/ Community installer_TWESA/Community installer_TWESA/JAMII installer_TWESS installer_TWIG installer_TZ as installer_Ta installer_Taasi installer_Taboma/Community installer_Tabora Municipal Council installer_Tabraki installer_Tadeo installer_Taees installer_Taes installer_Tajiri Jumbe Lila installer_Tanapa installer_Tanesco installer_Tanganyika Basin installer_Tanload installer_Tansi installer_Tanz installer_Tanz Egypt technical coopera installer_Tanz/Egypt technical coopera installer_Tanza installer_Tanzania installer_Tanzania Egypt Technical Co Op installer_Tanzania Government installer_Tanzania government installer_Tanzania/ Egypt installer_Tanzanian Government installer_Tarangire park installer_Tardo installer_Tareto installer_Tasaf installer_Tasaf and Lga installer_Te installer_Team Rafiki installer_Tempo installer_Teonas Wambura installer_Teresa Munyama installer_The Co installer_The I installer_The Isla installer_The desk and chair foundat installer_Theo installer_Thomasi busigaye installer_Tom installer_Total Landcare installer_Total land Care installer_Total land care installer_Total landcare installer_Totoland installer_Totoland care installer_Townsh installer_Tulawaka Gold Mine installer_Tumaini fund installer_U.S.A installer_UAACC installer_UDC/Sema installer_UDC/sema installer_UDEA installer_UKILIG installer_UMOJA DRILLING installer_UMOJA DRILLING CONSTRUCTION installer_UMOJA DRILLING CONTRACTOR installer_UMOJA DRILLING CONTRUCTO installer_UN installer_UN Habitat installer_UN ONE installer_UNDP installer_UNHCR installer_UNICEF installer_UNICRF installer_UNIVERSAL CONSTRUCTION installer_UPM installer_US Embassy installer_USA EMBASSY installer_USAID installer_USTAWI installer_UYOGE installer_Ubalozi wa Japani installer_Ubalozi wa Marekani installer_Ubalozi wa Marekani /DWE installer_Ubung installer_Uhai wa mama na mtoto installer_Ungan installer_Unicef installer_Unisef installer_Unknown installer_Unknown Installer installer_Upendo Group installer_Upendo primary School installer_Usambala sisters installer_V installer_VC installer_VICF installer_VICFISH LTD installer_VICKFI installer_VICTORIA DRILL installer_VICTORIA DRILL CO installer_VIEN CONSTRUCTION installer_VIFAF installer_VIFAFI installer_VIFAI installer_VILLAG installer_VILLAGE installer_VILLAGE COUNCIL installer_VILLAGE COUNCIL .ODA installer_VILLAGE COUNCIL Orpha installer_VILLAGE WATER COMMISSION installer_VILLAGER installer_VILLAGERS installer_VITECOS installer_VITECOS INVEST installer_VTECOS installer_VTTP installer_VW installer_VWC installer_VWT installer_Vi installer_ViLLAGE COUNCIL installer_Victoria installer_Victoria company installer_Vill installer_Villa installer_Villaers installer_Villag installer_Village installer_Village Council installer_Village Community installer_Village Council installer_Village Counil installer_Village Government installer_Village Govt installer_Village Office installer_Village Technician installer_Village community installer_Village community members installer_Village council installer_Village government installer_Village govt installer_Village local contractor installer_Village water attendant installer_Village water committee installer_Villager installer_Villagerd installer_Villagers installer_Villages installer_Villege Council installer_Villi installer_Vodacom installer_W installer_W.B installer_W.C.S installer_W.D & installer_W.D. and I.D. installer_W/ installer_WA installer_WADECO installer_WAMA installer_WAMBA installer_WASHIMA installer_WATER installer_WATER AID installer_WATER AIDS installer_WATER AID installer_WATERAID installer_WB installer_WB / District Council installer_WBK installer_WD and ID installer_WDE installer_WDECO installer_WDP installer_WE installer_WEDECO installer_WEDECO/WESSONS installer_WEDEKO installer_WEEPERS installer_WFP installer_WILLIAMSON DIAMOND LTD installer_WINAM CONSTRUCTION installer_WINAM CO installer_WINAM CONSTRUCTION installer_WINAMU CO installer_WINNIN SPIRIT CO installer_WINNIN SPIRIT CO LTD installer_WIZARA installer_WORDL BANK installer_WORLD BANK installer_WORLD NK installer_WORLD VISION installer_WOULD BANK installer_WOYEGE installer_WSDP installer_WSSP installer_WU installer_WUA installer_WUS installer_WVC installer_WVT installer_WW installer_WWF installer_WWF/ installer_Wa installer_Wachina installer_Wadeco installer_Wafidh installer_Waheke installer_Wahidi installer_Waitaliano installer_Wajerumani installer_Wamisionari wa Kikatoriki installer_Wamissionari wa kikatoriki installer_Wanan installer_Wananchi installer_Wanjoda installer_Warento installer_Wasso installer_Wasso companies installer_Wasso contractors installer_Water installer_Water Aid/Maji tech installer_Water Aid/Sema installer_Water /sema installer_Water AID installer_Water Aid installer_Water Aid /sema installer_Water Aid/DWE installer_Water Aid/Sema installer_Water Aid/sema installer_Water Authority installer_Water Department installer_Water Hu installer_Water Project Mbawala chini installer_Water Solution installer_Water aid installer_Water aid /sema installer_Water aid/sema installer_Water authority installer_Water board installer_Water boards installer_Water department installer_Water hu installer_Water use Group installer_Water user Group installer_Water users Group installer_Wedeco installer_William Acles installer_Wilson installer_Winkyens installer_Wizara ya maji installer_Wizara ya maji installer_Wizra ya maji na egypt installer_Wo installer_Word installer_Word Bank installer_Word bank installer_Word divisio installer_World installer_World Bank installer_World Division installer_World Visiin installer_World Vision installer_World Vission installer_World bank installer_World banks installer_World vision installer_YEBE CHIKOMESH installer_YELL LTD installer_YUMBAKA ENGINEERING installer_Yakwetu Contractor installer_Yasini installer_Yasini Selemani installer_Yohanis Mgaya installer_Yoroko mwalongo installer_ZINDUKA installer_Zaburi and neighbors installer_Zacharia MTN installer_Zao installer_Zao water spring installer_Zao water spring X installer_Zingibali Secondary installer_Zuber Mihungo installer_ambwene mwaikeke installer_anglican Uganda installer_brown installer_care international installer_central government installer_chacha installer_church installer_commu installer_desk and chair foundation installer_germany installer_go installer_gwitembe installer_harison installer_hesaw installer_hesawa installer_inkinda installer_installer_missing installer_ir installer_is installer_joery magabe installer_john skwese installer_kanisa installer_kegocha installer_kuwait installer_kw installer_lion's club installer_local installer_local technician installer_local fundi installer_local technical tec installer_local technician installer_local technitian installer_lusajo installer_lutheran church installer_maendeleo ya jamii installer_magige installer_maji mugumu installer_malola installer_marafip installer_mbeje installer_mchina installer_morovian church installer_ms installer_muniko installer_mwakalinga installer_mwakifuna installer_mwita installer_mwita kichere installer_mzee mabena installer_nandra Construction installer_nchagwa installer_not known installer_p installer_peter installer_plan Int installer_plan int installer_private installer_rc ch installer_rc church installer_salamu kita installer_secondary installer_secondary school installer_sengerema Water Department installer_sengerema water Department installer_shule installer_stansilaus installer_ter installer_unknown installer_upper Ruvu installer_villager installer_villagers installer_villigers installer_wanan installer_wananchi installer_wananchi technicians installer_wasab installer_water board installer_wizara ya maji installer_world installer_world banks installer_world vision region_Arusha region_Dar es Salaam region_Dodoma region_Iringa region_Kagera region_Kigoma region_Kilimanjaro region_Lindi region_Manyara region_Mara region_Mbeya region_Morogoro region_Mtwara region_Mwanza region_Pwani region_Rukwa region_Ruvuma region_Shinyanga region_Singida region_Tabora region_Tanga public_meeting_False public_meeting_True public_meeting_miss_p_mtng scheme_management_Company scheme_management_None scheme_management_Other scheme_management_Parastatal scheme_management_Private operator scheme_management_SWC scheme_management_Trust scheme_management_VWC scheme_management_WUA scheme_management_WUG scheme_management_Water Board scheme_management_Water authority scheme_management_miss_sch_mngt permit_False permit_True permit_miss_permit extraction_type_afridev extraction_type_cemo extraction_type_climax extraction_type_gravity extraction_type_india mark ii extraction_type_india mark iii extraction_type_ksb extraction_type_mono extraction_type_nira/tanira extraction_type_other extraction_type_other - mkulima/shinyanga extraction_type_other - play pump extraction_type_other - rope pump extraction_type_other - swn 81 extraction_type_submersible extraction_type_swn 80 extraction_type_walimi extraction_type_windmill management_company management_other management_other - school management_parastatal management_private operator management_trust management_unknown management_vwc management_water authority management_water board management_wua management_wug payment_never pay payment_other payment_pay annually payment_pay monthly payment_pay per bucket payment_pay when scheme fails payment_unknown water_quality_coloured water_quality_fluoride water_quality_fluoride abandoned water_quality_milky water_quality_salty water_quality_salty abandoned water_quality_soft water_quality_unknown quantity_dry quantity_enough quantity_insufficient quantity_seasonal quantity_unknown source_dam source_hand dtw source_lake source_machine dbh source_other source_rainwater harvesting source_river source_shallow well source_spring source_unknown waterpoint_type_cattle trough waterpoint_type_communal standpipe waterpoint_type_communal standpipe multiple waterpoint_type_dam waterpoint_type_hand pump waterpoint_type_improved spring waterpoint_type_other
0 1.895665 1.041252 -0.150399 0.123433 -0.963565 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0
1 -0.105970 1.054237 0.212290 -0.622187 -0.705447 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0
2 -0.097630 0.025541 0.148660 -0.539340 0.024655 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
3 -0.105970 -0.584751 -0.258570 1.366133 -0.902306 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0
4 -0.105970 -0.964200 -0.381587 -0.787880 -0.733086 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0
In [160]:
col_lst = train_data_1.columns
In [161]:
col_lst
Out[161]:
Index(['amount_tsh', 'gps_height', 'population', 'years_elapsed',
       'basin_pump_dist', 'funder_0', 'funder_A/co Germany', 'funder_Aar',
       'funder_Abas Ka', 'funder_Abasia',
       ...
       'source_shallow well', 'source_spring', 'source_unknown',
       'waterpoint_type_cattle trough', 'waterpoint_type_communal standpipe',
       'waterpoint_type_communal standpipe multiple', 'waterpoint_type_dam',
       'waterpoint_type_hand pump', 'waterpoint_type_improved spring',
       'waterpoint_type_other'],
      dtype='object', length=4156)
In [162]:
# dropping one column each from the group of newly created dummy columns to ward off the issue of multi-collinearity
train_data_1.drop(['funder_funder_missing','installer_installer_missing','region_Iringa',
                   'public_meeting_miss_p_mtng','scheme_management_miss_sch_mngt','permit_miss_permit',
                  'management_other - school','payment_unknown','water_quality_unknown',
                  'quantity_unknown','source_unknown','water_quality_unknown'], axis=1, inplace=True)
In [163]:
train_data_1.shape
Out[163]:
(59400, 4145)
Import the training target data-set
In [365]:
# import the train-target dataset
train_target = pd.read_csv('raw_train_target_vectors.csv')
In [366]:
train_target.shape
Out[366]:
(59400, 2)
In [367]:
train_target.head()
Out[367]:
id status_group
0 69572 functional
1 8776 functional
2 34310 functional
3 67743 non functional
4 19728 functional
In [368]:
train_target['status_group'].isna().sum()
Out[368]:
0
In [369]:
train_target['status_group'].unique()
Out[369]:
array(['functional', 'non functional', 'functional needs repair'],
      dtype=object)
pre-processing the target variable from being categorical to numerical
In [370]:
train_target['status_group'] = train_target['status_group'].map({'functional':0,
                                                                 'non functional':1,
                                                                 'functional needs repair':2})
In [318]:
train_target.head()
Out[318]:
0    0
1    0
2    0
3    1
4    0
Name: status_group, dtype: int64
In [171]:
train_target = train_target['status_group']
Now let's segregate the entire data set into train , validation and test sets
In [319]:
from sklearn.model_selection import train_test_split
In [327]:
X_train, X_test, y_train, y_test = train_test_split(train_data_1,train_target,test_size=.15,
                                                    random_state=321)
In [328]:
## get validation set from train set
X_train, X_valid, y_train, y_valid = train_test_split(X_train, y_train, test_size=.2, 
                                                      random_state=313)
In [329]:
X_train.shape, X_valid.shape, X_test.shape, y_train.shape, y_valid.shape, y_test.shape
Out[329]:
((40392, 4145), (10098, 4145), (8910, 4145), (40392,), (10098,), (8910,))
At this moment I am compelled to perform dimensionality reduction step - namely PCA to compress my feature space of several thousand features.
In [330]:
from sklearn.decomposition import PCA

pca = PCA(.95)
pca.fit(X_train)

#pca_samples = pca.transform(train_data_1)
Out[330]:
PCA(copy=True, iterated_power='auto', n_components=0.95, random_state=None,
  svd_solver='auto', tol=0.0, whiten=False)
In [331]:
pca.n_components_
Out[331]:
136
In [313]:
pca.explained_variance_ratio_
Out[313]:
array([0.12822833, 0.0892335 , 0.08197641, 0.07738054, 0.05933666,
       0.04592652, 0.03761974, 0.03254067, 0.0292746 , 0.02666826,
       0.02030454, 0.0169611 , 0.01622157, 0.01521431, 0.01304298,
       0.01219111, 0.011536  , 0.01099073, 0.0098409 , 0.00953179,
       0.00884177, 0.00763352, 0.00735443, 0.00729742, 0.00657773,
       0.00595982, 0.0057316 , 0.00516616, 0.00498214, 0.00491715,
       0.00451783, 0.00436116, 0.00418003, 0.00390396, 0.00381815,
       0.00374392, 0.00365451, 0.00358327, 0.00350678, 0.00329978,
       0.00309766, 0.00299255, 0.0029528 , 0.00282128, 0.00278156,
       0.00265938, 0.00261969, 0.00258057, 0.00243823, 0.0023699 ,
       0.00224707, 0.00218801, 0.00215508, 0.00204343, 0.0020147 ,
       0.00194403, 0.00188566, 0.0018381 , 0.00178667, 0.0016899 ,
       0.00163151, 0.00160954, 0.00158515, 0.00154052, 0.00146876,
       0.00143221, 0.00141691, 0.00138489, 0.00134239, 0.00131341,
       0.00129063, 0.00126102, 0.00116261, 0.00112661, 0.00111006,
       0.0010919 , 0.00107895, 0.00101405, 0.00100175, 0.00096405,
       0.00094858, 0.00089288, 0.00086306, 0.00084718, 0.00080482,
       0.0007981 , 0.0007848 , 0.000781  , 0.00075451, 0.00075242,
       0.00072239, 0.00069709, 0.00068323, 0.00067332, 0.00065102,
       0.00064152, 0.00062645, 0.00059968, 0.00059874, 0.00057203,
       0.00056631, 0.00055281, 0.00053592, 0.00053434, 0.00051778,
       0.00051372, 0.0005058 , 0.00048885, 0.00048145, 0.00047797,
       0.00047221, 0.00046802, 0.00046309, 0.00045528, 0.00043991,
       0.00043818, 0.00043685, 0.00042353, 0.00041998, 0.00041386,
       0.00040765, 0.00040508, 0.00040124, 0.00039463, 0.00039142,
       0.00038606, 0.000385  , 0.00038283, 0.00037702, 0.00037091,
       0.00036269, 0.00035417, 0.00034932, 0.00034282, 0.00033756,
       0.00033566])
In [332]:
for n_compnt in [50,60,70,75,80,85,90,95,100,110,120,125,130,135]:
    print('{} % of variance is explained by first {} components.'
      .format((round(np.cumsum(pca.explained_variance_ratio_)[n_compnt],2) * 100),n_compnt))
88.0 % of variance is explained by first 50 components.
90.0 % of variance is explained by first 60 components.
91.0 % of variance is explained by first 70 components.
92.0 % of variance is explained by first 75 components.
92.0 % of variance is explained by first 80 components.
93.0 % of variance is explained by first 85 components.
93.0 % of variance is explained by first 90 components.
93.0 % of variance is explained by first 95 components.
94.0 % of variance is explained by first 100 components.
94.0 % of variance is explained by first 110 components.
94.0 % of variance is explained by first 120 components.
95.0 % of variance is explained by first 125 components.
95.0 % of variance is explained by first 130 components.
95.0 % of variance is explained by first 135 components.
Apply the mapping/transformation to train, validation and test sets.
In [333]:
X_train = pca.transform(X_train)
X_valid = pca.transform(X_valid)
X_test = pca.transform(X_test)
In [334]:
X_train.shape , X_valid.shape, X_test.shape
Out[334]:
((40392, 136), (10098, 136), (8910, 136))
In [335]:
X_train[:5,:5]
Out[335]:
array([[ 0.09558042,  0.20629677,  1.10368332, -1.43542895, -1.27141352],
       [-1.56349914, -0.07807022,  0.06527295,  0.92176458, -0.39106082],
       [ 0.8930848 , -0.27636336,  0.90167219, -0.51384158,  0.07970041],
       [ 0.9443107 , -0.06926744, -0.70016221, -0.05104971,  1.31398127],
       [-0.72705389, -0.12687915, -0.72443054,  1.20887384,  0.58719472]])

Model Selection steps

In [203]:
from sklearn.metrics import accuracy_score
from time import time
In [222]:
def probable_models(classifier, train_ftr_set, valid_ftr_set, train_trgt_set, valid_trgt_set):
    '''
    defining a function to iterative run over a list of classifiers and generate a 
    comparison matrix
    '''
    
    result = {}
    
    start_tm = time()
    classifier = classifier.fit(train_ftr_set, train_trgt_set)
    end_tm = time()
    
    result['train_score'] = classifier.score(train_ftr_set, train_trgt_set)
    result['valid_score'] = classifier.score(valid_ftr_set, valid_trgt_set)
    result['time'] = end_tm - start_tm
    
    start_tm = 0
    end_tm = 0
    
    return result    
In [223]:
from sklearn.svm import SVC
from sklearn.naive_bayes import GaussianNB
from sklearn.neighbors import KNeighborsClassifier
from sklearn.tree import DecisionTreeClassifier
from sklearn.ensemble import RandomForestClassifier, AdaBoostClassifier, GradientBoostingClassifier, ExtraTreesClassifier
from sklearn.neural_network import MLPClassifier
In [224]:
clf_a = SVC(random_state = 313)
clf_b = GaussianNB()
clf_c = KNeighborsClassifier()
clf_d = DecisionTreeClassifier(random_state = 313)
clf_e = RandomForestClassifier(criterion='entropy', random_state = 313)
clf_f = AdaBoostClassifier(random_state = 313)
clf_g = GradientBoostingClassifier(random_state = 313)
clf_h = ExtraTreesClassifier(criterion='entropy', random_state=313)
clf_i = MLPClassifier(random_state = 313)

results = {}

for clf in [clf_a, clf_b, clf_c, clf_d, clf_e, clf_f, clf_g, clf_h, clf_i]:
    name = clf.__class__.__name__
    results[name] = probable_models(clf, X_train, X_valid, y_train, y_valid)
    
/anaconda3/lib/python3.6/site-packages/sklearn/svm/base.py:196: FutureWarning: The default value of gamma will change from 'auto' to 'scale' in version 0.22 to account better for unscaled features. Set gamma explicitly to 'auto' or 'scale' to avoid this warning.
  "avoid this warning.", FutureWarning)
/anaconda3/lib/python3.6/site-packages/sklearn/ensemble/forest.py:246: FutureWarning: The default value of n_estimators will change from 10 in version 0.20 to 100 in 0.22.
  "10 in version 0.20 to 100 in 0.22.", FutureWarning)
/anaconda3/lib/python3.6/site-packages/sklearn/ensemble/forest.py:246: FutureWarning: The default value of n_estimators will change from 10 in version 0.20 to 100 in 0.22.
  "10 in version 0.20 to 100 in 0.22.", FutureWarning)
/anaconda3/lib/python3.6/site-packages/sklearn/neural_network/multilayer_perceptron.py:562: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (200) reached and the optimization hasn't converged yet.
  % self.max_iter, ConvergenceWarning)
In [219]:
results
Out[219]:
{'SVC': {'train_score': 0.7376213111507229,
  'valid_score': 0.7370766488413547,
  'accuracy': 0.7370766488413547,
  'time': 228.85598397254944},
 'GaussianNB': {'train_score': 0.4734353337294514,
  'valid_score': 0.4726678550207962,
  'accuracy': 0.4726678550207962,
  'time': 0.10456705093383789},
 'KNeighborsClassifier': {'train_score': 0.8353881956823134,
  'valid_score': 0.7756981580510992,
  'accuracy': 0.7756981580510992,
  'time': 0.23358511924743652},
 'DecisionTreeClassifier': {'train_score': 0.9974499900970489,
  'valid_score': 0.7265795206971678,
  'accuracy': 0.7265795206971678,
  'time': 11.238741874694824},
 'RandomForestClassifier': {'train_score': 0.9784363240245593,
  'valid_score': 0.7687660922955041,
  'accuracy': 0.7687660922955041,
  'time': 6.3978822231292725},
 'AdaBoostClassifier': {'train_score': 0.7049168152109329,
  'valid_score': 0.7021192315309962,
  'accuracy': 0.7021192315309962,
  'time': 31.82717800140381},
 'GradientBoostingClassifier': {'train_score': 0.7704991087344029,
  'valid_score': 0.7625272331154684,
  'accuracy': 0.7625272331154684,
  'time': 168.3458070755005},
 'ExtraTreesClassifier': {'train_score': 0.9974499900970489,
  'valid_score': 0.7624282036046742,
  'accuracy': 0.7624282036046742,
  'time': 1.077476978302002},
 'MLPClassifier': {'train_score': 0.8657902554961379,
  'valid_score': 0.773717567835215,
  'accuracy': 0.773717567835215,
  'time': 35.131067991256714}}
In [234]:
model_selection_df = pd.DataFrame(results).T
In [236]:
model_selection_df
Out[236]:
time train_score valid_score
SVC 229.135942 0.737621 0.737077
GaussianNB 0.090633 0.473435 0.472668
KNeighborsClassifier 0.224467 0.835388 0.775698
DecisionTreeClassifier 11.433602 0.997450 0.726580
RandomForestClassifier 6.389280 0.978436 0.768766
AdaBoostClassifier 31.773513 0.704917 0.702119
GradientBoostingClassifier 167.763767 0.770499 0.762527
ExtraTreesClassifier 1.344342 0.997450 0.762428
MLPClassifier 64.558635 0.865790 0.773718
In [227]:
t1 = time()
In [228]:
t2 = time()
In [229]:
t2 - t1
Out[229]:
7.368470191955566
In [232]:
model_selection_df.T.plot(kind = 'bar', figsize=(17,10))
Out[232]:
<matplotlib.axes._subplots.AxesSubplot at 0x1a8300e198>
Difficult to visualize the comparative graph, so let's normalize the data and see.
In [240]:
model_selection_df['time'] = (model_selection_df['time'] - min(model_selection_df['time']))/(max(model_selection_df['time']) - min(model_selection_df['time']))
model_selection_df['train_score'] = (model_selection_df['train_score'] - min(model_selection_df['train_score']))/(max(model_selection_df['train_score']) - min(model_selection_df['train_score']))
model_selection_df['valid_score'] = (model_selection_df['valid_score'] - min(model_selection_df['valid_score']))/(max(model_selection_df['valid_score']) - min(model_selection_df['valid_score']))
In [243]:
model_selection_df
Out[243]:
time train_score valid_score
SVC 1.000000 0.504158 0.872549
GaussianNB 0.000000 0.000000 0.000000
KNeighborsClassifier 0.000584 0.690730 1.000000
DecisionTreeClassifier 0.049523 1.000000 0.837908
RandomForestClassifier 0.027500 0.963715 0.977124
AdaBoostClassifier 0.138326 0.441746 0.757190
GradientBoostingClassifier 0.732052 0.566900 0.956536
ExtraTreesClassifier 0.005474 1.000000 0.956209
MLPClassifier 0.281464 0.748748 0.993464
In [242]:
model_selection_df.T.plot(kind='bar', figsize=(17,10))
Out[242]:
<matplotlib.axes._subplots.AxesSubplot at 0x1a829b6f60>
Hence, from above it's clear that we will try out with KNN and MLP for further parameter tuning and attain better results.
Let's now perform the grid-serach with cross-validation to find the best hyper-parameters for KNN.
In [245]:
from sklearn.model_selection import GridSearchCV
from sklearn.metrics import make_scorer, accuracy_score
In [264]:
# let's define the parameters dictionary for KNN
'''
parameters = {'n_neighbors' :list(range(20,150,10)),
              'algorithm' : ['auto', 'ball_tree', 'kd_tree', 'brute'],
              'leaf_size' : list(range(20,150,10)),
              'p':[1,2, 3, 4]
             }
'''
parameters = {'n_neighbors' :[5],
              'algorithm' : ['auto', 'ball_tree', 'kd_tree', 'brute'],
              'leaf_size' : [30],
              'p':[2]
             }

start_tm = time()

scorer = make_scorer(accuracy_score)
clf = KNeighborsClassifier()
grid_obj = GridSearchCV(clf,
                        param_grid=parameters,
                        scoring=scorer,
                        ##cv=10,
                        n_jobs=-1)
grid_fit = grid_obj.fit(X_train, y_train)
best_clf = grid_fit.best_estimator_
base_pred = (clf.fit(X_train, y_train)).predict(X_valid)
best_pred = best_clf.predict(X_valid)

end_tm = time()

print('The prediction by base KNN validation set is : {}'.format(accuracy_score(y_valid, base_pred)),
      '\nThe prediction by optimized KNN on validation set is : {}'.format(accuracy_score(y_valid, best_pred)),
      '\nTime taken is : {:.4f} sec'.format(end_tm - start_tm))
/anaconda3/lib/python3.6/site-packages/sklearn/model_selection/_split.py:2053: FutureWarning: You should specify a value for 'cv' instead of relying on the default value. The default value will change from 3 to 5 in version 0.22.
  warnings.warn(CV_WARNING, FutureWarning)
The prediction by base KNN validation set is : 0.7756981580510992 
The prediction by optimized KNN on validation set is : 0.7753020400079224 
Time taken is : 409.0240 sec
Capturing the run of individual combinations as complete grid was taking too much of time. Due to time constarint , as I have to submit the analysis for Axiata Analytics.
In [265]:
best_clf.get_params
Out[265]:
<bound method BaseEstimator.get_params of KNeighborsClassifier(algorithm='brute', leaf_size=30, metric='minkowski',
           metric_params=None, n_jobs=None, n_neighbors=5, p=2,
           weights='uniform')>
In [ ]:
KNeighborsClassifier(algorithm='kd_tree', leaf_size=30, metric='minkowski',
           metric_params=None, n_jobs=None, n_neighbors=10, p=2,
           weights='uniform')

The prediction by base KNN validation set is : 0.7756981580510992 
The prediction by optimized KNN on validation set is : 0.7712418300653595 
Time taken is : 171.2059 sec
In [ ]:
KNeighborsClassifier(algorithm='auto', leaf_size=40, metric='minkowski',
           metric_params=None, n_jobs=None, n_neighbors=10, p=2,
           weights='uniform')
                     
The prediction by base KNN validation set is : 0.7756981580510992 
The prediction by optimized KNN on validation set is : 0.7713408595761537 
Time taken is : 151.4696 sec
In [ ]:
KNeighborsClassifier(algorithm='auto', leaf_size=30, metric='minkowski',
           metric_params=None, n_jobs=None, n_neighbors=15, p=2,
           weights='uniform')

The prediction by base KNN validation set is : 0.7756981580510992 
The prediction by optimized KNN on validation set is : 0.767379679144385 
Time taken is : 181.1374 sec
In [ ]:
KNeighborsClassifier(algorithm='kd_tree', leaf_size=30, metric='minkowski',
           metric_params=None, n_jobs=None, n_neighbors=5, p=2,
           weights='uniform')

The prediction by base KNN validation set is : 0.7756981580510992 
The prediction by optimized KNN on validation set is : 0.7756981580510992 
Time taken is : 109.9834 sec
In [ ]:
'algorithm' : ['auto', 'ball_tree', 'kd_tree', 'brute'],
KNeighborsClassifier(algorithm='brute', leaf_size=30, metric='minkowski',
           metric_params=None, n_jobs=None, n_neighbors=5, p=2,
           weights='uniform')

The prediction by base KNN validation set is : 0.7756981580510992 
The prediction by optimized KNN on validation set is : 0.7753020400079224 
Time taken is : 409.0240 sec
Now trying out with Neural Networks using keras with tensorflow backend
In [339]:
from keras.models import Sequential
from keras.layers import Dense, Activation,Dropout
from keras.optimizers import Adam,SGD,RMSprop
from keras import regularizers
from keras.callbacks import ModelCheckpoint
from sklearn.metrics import accuracy_score
from keras.utils import np_utils
In [340]:
X_train.shape
Out[340]:
(40392, 136)
In [341]:
nb_classes = 3
y_train = np_utils.to_categorical(y_train, nb_classes)
y_valid = np_utils.to_categorical(y_valid, nb_classes)
y_test = np_utils.to_categorical(y_test, nb_classes)
In [343]:
y_train.shape, y_valid.shape, y_test.shape
Out[343]:
((40392, 3), (10098, 3), (8910, 3))
In [344]:
# first model architechture
np.random.seed(13)

model = Sequential()
model.add(Dense(1024, kernel_regularizer=regularizers.l2(.001),input_dim=X_train.shape[1]))
model.add(Activation('relu'))
model.add(Dropout(0.2))
model.add(Dense(512,kernel_regularizer=regularizers.l2(.001)))
model.add(Activation('relu'))
model.add(Dropout(0.2))
model.add(Dense(128,kernel_regularizer=regularizers.l1_l2(.001)))
model.add(Activation('relu'))
model.add(Dropout(0.3))
model.add(Dense(32, kernel_regularizer=regularizers.l2(.001)))
model.add(Activation('relu'))
model.add(Dense(3, activation = 'softmax'))

model.summary()
_________________________________________________________________
Layer (type)                 Output Shape              Param #   
=================================================================
dense_42 (Dense)             (None, 1024)              140288    
_________________________________________________________________
activation_33 (Activation)   (None, 1024)              0         
_________________________________________________________________
dropout_25 (Dropout)         (None, 1024)              0         
_________________________________________________________________
dense_43 (Dense)             (None, 512)               524800    
_________________________________________________________________
activation_34 (Activation)   (None, 512)               0         
_________________________________________________________________
dropout_26 (Dropout)         (None, 512)               0         
_________________________________________________________________
dense_44 (Dense)             (None, 128)               65664     
_________________________________________________________________
activation_35 (Activation)   (None, 128)               0         
_________________________________________________________________
dropout_27 (Dropout)         (None, 128)               0         
_________________________________________________________________
dense_45 (Dense)             (None, 32)                4128      
_________________________________________________________________
activation_36 (Activation)   (None, 32)                0         
_________________________________________________________________
dense_46 (Dense)             (None, 3)                 99        
=================================================================
Total params: 734,979
Trainable params: 734,979
Non-trainable params: 0
_________________________________________________________________
In [345]:
# compile the model
model.compile(optimizer='rmsprop', loss='categorical_crossentropy', metrics=['accuracy'])
In [346]:
from keras.callbacks import ModelCheckpoint  

# checkpoint
filepath="weights-improvement-best-model.hdf5"
checkpoint = ModelCheckpoint(filepath, monitor='val_loss', verbose=1, save_best_only=True, mode='min')
callbacks_list_1 = [checkpoint]

# training the model

start_time = time()
model.fit(X_train,y_train,batch_size= 10000, epochs= 500,
          validation_data=(X_valid,y_valid),
          #validation_split = 0.2,
         verbose =2,callbacks = callbacks_list_1)
end_time = time()
Train on 40392 samples, validate on 10098 samples
Epoch 1/500
 - 3s - loss: 6.6574 - acc: 0.4958 - val_loss: 5.6679 - val_acc: 0.6596

Epoch 00001: val_loss improved from inf to 5.66787, saving model to weights-improvement-best-model.hdf5
Epoch 2/500
 - 3s - loss: 5.4453 - acc: 0.6364 - val_loss: 4.8705 - val_acc: 0.7239

Epoch 00002: val_loss improved from 5.66787 to 4.87046, saving model to weights-improvement-best-model.hdf5
Epoch 3/500
 - 3s - loss: 4.6836 - acc: 0.7190 - val_loss: 4.3321 - val_acc: 0.6666

Epoch 00003: val_loss improved from 4.87046 to 4.33205, saving model to weights-improvement-best-model.hdf5
Epoch 4/500
 - 3s - loss: 4.1889 - acc: 0.7001 - val_loss: 3.7808 - val_acc: 0.7408

Epoch 00004: val_loss improved from 4.33205 to 3.78081, saving model to weights-improvement-best-model.hdf5
Epoch 5/500
 - 3s - loss: 3.6601 - acc: 0.7374 - val_loss: 3.3519 - val_acc: 0.7490

Epoch 00005: val_loss improved from 3.78081 to 3.35190, saving model to weights-improvement-best-model.hdf5
Epoch 6/500
 - 3s - loss: 3.2631 - acc: 0.7323 - val_loss: 2.9859 - val_acc: 0.7444

Epoch 00006: val_loss improved from 3.35190 to 2.98592, saving model to weights-improvement-best-model.hdf5
Epoch 7/500
 - 3s - loss: 2.8870 - acc: 0.7387 - val_loss: 2.6629 - val_acc: 0.7411

Epoch 00007: val_loss improved from 2.98592 to 2.66293, saving model to weights-improvement-best-model.hdf5
Epoch 8/500
 - 3s - loss: 2.5741 - acc: 0.7358 - val_loss: 2.3390 - val_acc: 0.7483

Epoch 00008: val_loss improved from 2.66293 to 2.33904, saving model to weights-improvement-best-model.hdf5
Epoch 9/500
 - 3s - loss: 2.2601 - acc: 0.7476 - val_loss: 2.0643 - val_acc: 0.7495

Epoch 00009: val_loss improved from 2.33904 to 2.06429, saving model to weights-improvement-best-model.hdf5
Epoch 10/500
 - 3s - loss: 2.0135 - acc: 0.7413 - val_loss: 1.8560 - val_acc: 0.7372

Epoch 00010: val_loss improved from 2.06429 to 1.85595, saving model to weights-improvement-best-model.hdf5
Epoch 11/500
 - 3s - loss: 1.7859 - acc: 0.7457 - val_loss: 1.6394 - val_acc: 0.7424

Epoch 00011: val_loss improved from 1.85595 to 1.63938, saving model to weights-improvement-best-model.hdf5
Epoch 12/500
 - 3s - loss: 1.5972 - acc: 0.7398 - val_loss: 1.4530 - val_acc: 0.7535

Epoch 00012: val_loss improved from 1.63938 to 1.45298, saving model to weights-improvement-best-model.hdf5
Epoch 13/500
 - 3s - loss: 1.4161 - acc: 0.7474 - val_loss: 1.3495 - val_acc: 0.7273

Epoch 00013: val_loss improved from 1.45298 to 1.34951, saving model to weights-improvement-best-model.hdf5
Epoch 14/500
 - 3s - loss: 1.2843 - acc: 0.7425 - val_loss: 1.1681 - val_acc: 0.7566

Epoch 00014: val_loss improved from 1.34951 to 1.16806, saving model to weights-improvement-best-model.hdf5
Epoch 15/500
 - 3s - loss: 1.1543 - acc: 0.7460 - val_loss: 1.1005 - val_acc: 0.7500

Epoch 00015: val_loss improved from 1.16806 to 1.10054, saving model to weights-improvement-best-model.hdf5
Epoch 16/500
 - 3s - loss: 1.0597 - acc: 0.7500 - val_loss: 1.0057 - val_acc: 0.7459

Epoch 00016: val_loss improved from 1.10054 to 1.00575, saving model to weights-improvement-best-model.hdf5
Epoch 17/500
 - 3s - loss: 0.9922 - acc: 0.7433 - val_loss: 0.9442 - val_acc: 0.7480

Epoch 00017: val_loss improved from 1.00575 to 0.94418, saving model to weights-improvement-best-model.hdf5
Epoch 18/500
 - 3s - loss: 0.9300 - acc: 0.7468 - val_loss: 0.8732 - val_acc: 0.7602

Epoch 00018: val_loss improved from 0.94418 to 0.87323, saving model to weights-improvement-best-model.hdf5
Epoch 19/500
 - 3s - loss: 0.8733 - acc: 0.7547 - val_loss: 0.8418 - val_acc: 0.7569

Epoch 00019: val_loss improved from 0.87323 to 0.84178, saving model to weights-improvement-best-model.hdf5
Epoch 20/500
 - 3s - loss: 0.8609 - acc: 0.7461 - val_loss: 0.8543 - val_acc: 0.7436

Epoch 00020: val_loss did not improve from 0.84178
Epoch 21/500
 - 3s - loss: 0.8396 - acc: 0.7518 - val_loss: 0.8162 - val_acc: 0.7562

Epoch 00021: val_loss improved from 0.84178 to 0.81622, saving model to weights-improvement-best-model.hdf5
Epoch 22/500
 - 3s - loss: 0.8224 - acc: 0.7516 - val_loss: 0.8027 - val_acc: 0.7585

Epoch 00022: val_loss improved from 0.81622 to 0.80274, saving model to weights-improvement-best-model.hdf5
Epoch 23/500
 - 3s - loss: 0.8131 - acc: 0.7523 - val_loss: 0.7937 - val_acc: 0.7590

Epoch 00023: val_loss improved from 0.80274 to 0.79369, saving model to weights-improvement-best-model.hdf5
Epoch 24/500
 - 3s - loss: 0.7932 - acc: 0.7559 - val_loss: 0.8188 - val_acc: 0.7354

Epoch 00024: val_loss did not improve from 0.79369
Epoch 25/500
 - 3s - loss: 0.8081 - acc: 0.7449 - val_loss: 0.7729 - val_acc: 0.7623

Epoch 00025: val_loss improved from 0.79369 to 0.77289, saving model to weights-improvement-best-model.hdf5
Epoch 26/500
 - 3s - loss: 0.7819 - acc: 0.7557 - val_loss: 0.7881 - val_acc: 0.7508

Epoch 00026: val_loss did not improve from 0.77289
Epoch 27/500
 - 3s - loss: 0.7836 - acc: 0.7515 - val_loss: 0.7656 - val_acc: 0.7580

Epoch 00027: val_loss improved from 0.77289 to 0.76560, saving model to weights-improvement-best-model.hdf5
Epoch 28/500
 - 3s - loss: 0.7769 - acc: 0.7535 - val_loss: 0.7625 - val_acc: 0.7604

Epoch 00028: val_loss improved from 0.76560 to 0.76251, saving model to weights-improvement-best-model.hdf5
Epoch 29/500
 - 3s - loss: 0.7651 - acc: 0.7575 - val_loss: 0.7527 - val_acc: 0.7612

Epoch 00029: val_loss improved from 0.76251 to 0.75272, saving model to weights-improvement-best-model.hdf5
Epoch 30/500
 - 3s - loss: 0.7598 - acc: 0.7575 - val_loss: 0.7561 - val_acc: 0.7574

Epoch 00030: val_loss did not improve from 0.75272
Epoch 31/500
 - 3s - loss: 0.7617 - acc: 0.7561 - val_loss: 0.7713 - val_acc: 0.7491

Epoch 00031: val_loss did not improve from 0.75272
Epoch 32/500
 - 3s - loss: 0.7586 - acc: 0.7558 - val_loss: 0.7516 - val_acc: 0.7549

Epoch 00032: val_loss improved from 0.75272 to 0.75158, saving model to weights-improvement-best-model.hdf5
Epoch 33/500
 - 3s - loss: 0.7562 - acc: 0.7537 - val_loss: 0.7378 - val_acc: 0.7626

Epoch 00033: val_loss improved from 0.75158 to 0.73781, saving model to weights-improvement-best-model.hdf5
Epoch 34/500
 - 3s - loss: 0.7405 - acc: 0.7623 - val_loss: 0.7502 - val_acc: 0.7514

Epoch 00034: val_loss did not improve from 0.73781
Epoch 35/500
 - 3s - loss: 0.7572 - acc: 0.7518 - val_loss: 0.7467 - val_acc: 0.7549

Epoch 00035: val_loss did not improve from 0.73781
Epoch 36/500
 - 3s - loss: 0.7422 - acc: 0.7574 - val_loss: 0.7278 - val_acc: 0.7643

Epoch 00036: val_loss improved from 0.73781 to 0.72777, saving model to weights-improvement-best-model.hdf5
Epoch 37/500
 - 3s - loss: 0.7360 - acc: 0.7604 - val_loss: 0.7287 - val_acc: 0.7656

Epoch 00037: val_loss did not improve from 0.72777
Epoch 38/500
 - 3s - loss: 0.7403 - acc: 0.7559 - val_loss: 0.7483 - val_acc: 0.7540

Epoch 00038: val_loss did not improve from 0.72777
Epoch 39/500
 - 3s - loss: 0.7394 - acc: 0.7574 - val_loss: 0.7192 - val_acc: 0.7671

Epoch 00039: val_loss improved from 0.72777 to 0.71924, saving model to weights-improvement-best-model.hdf5
Epoch 40/500
 - 3s - loss: 0.7258 - acc: 0.7639 - val_loss: 0.7197 - val_acc: 0.7661

Epoch 00040: val_loss did not improve from 0.71924
Epoch 41/500
 - 3s - loss: 0.7228 - acc: 0.7638 - val_loss: 0.7359 - val_acc: 0.7582

Epoch 00041: val_loss did not improve from 0.71924
Epoch 42/500
 - 3s - loss: 0.7417 - acc: 0.7508 - val_loss: 0.7197 - val_acc: 0.7644

Epoch 00042: val_loss did not improve from 0.71924
Epoch 43/500
 - 3s - loss: 0.7216 - acc: 0.7629 - val_loss: 0.7261 - val_acc: 0.7610

Epoch 00043: val_loss did not improve from 0.71924
Epoch 44/500
 - 3s - loss: 0.7321 - acc: 0.7571 - val_loss: 0.7144 - val_acc: 0.7654

Epoch 00044: val_loss improved from 0.71924 to 0.71436, saving model to weights-improvement-best-model.hdf5
Epoch 45/500
 - 3s - loss: 0.7186 - acc: 0.7620 - val_loss: 0.7169 - val_acc: 0.7623

Epoch 00045: val_loss did not improve from 0.71436
Epoch 46/500
 - 3s - loss: 0.7146 - acc: 0.7663 - val_loss: 0.7409 - val_acc: 0.7549

Epoch 00046: val_loss did not improve from 0.71436
Epoch 47/500
 - 3s - loss: 0.7354 - acc: 0.7546 - val_loss: 0.7122 - val_acc: 0.7658

Epoch 00047: val_loss improved from 0.71436 to 0.71222, saving model to weights-improvement-best-model.hdf5
Epoch 48/500
 - 3s - loss: 0.7100 - acc: 0.7670 - val_loss: 0.7059 - val_acc: 0.7673

Epoch 00048: val_loss improved from 0.71222 to 0.70593, saving model to weights-improvement-best-model.hdf5
Epoch 49/500
 - 3s - loss: 0.7074 - acc: 0.7677 - val_loss: 0.7077 - val_acc: 0.7667

Epoch 00049: val_loss did not improve from 0.70593
Epoch 50/500
 - 3s - loss: 0.7340 - acc: 0.7513 - val_loss: 0.7132 - val_acc: 0.7638

Epoch 00050: val_loss did not improve from 0.70593
Epoch 51/500
 - 3s - loss: 0.7072 - acc: 0.7645 - val_loss: 0.7063 - val_acc: 0.7684

Epoch 00051: val_loss did not improve from 0.70593
Epoch 52/500
 - 3s - loss: 0.7034 - acc: 0.7674 - val_loss: 0.7070 - val_acc: 0.7678

Epoch 00052: val_loss did not improve from 0.70593
Epoch 53/500
 - 3s - loss: 0.7190 - acc: 0.7561 - val_loss: 0.7100 - val_acc: 0.7617

Epoch 00053: val_loss did not improve from 0.70593
Epoch 54/500
 - 3s - loss: 0.7038 - acc: 0.7668 - val_loss: 0.7050 - val_acc: 0.7644

Epoch 00054: val_loss improved from 0.70593 to 0.70497, saving model to weights-improvement-best-model.hdf5
Epoch 55/500
 - 3s - loss: 0.7101 - acc: 0.7632 - val_loss: 0.7032 - val_acc: 0.7681

Epoch 00055: val_loss improved from 0.70497 to 0.70317, saving model to weights-improvement-best-model.hdf5
Epoch 56/500
 - 3s - loss: 0.7024 - acc: 0.7671 - val_loss: 0.7085 - val_acc: 0.7606

Epoch 00056: val_loss did not improve from 0.70317
Epoch 57/500
 - 3s - loss: 0.7047 - acc: 0.7660 - val_loss: 0.7089 - val_acc: 0.7636

Epoch 00057: val_loss did not improve from 0.70317
Epoch 58/500
 - 3s - loss: 0.7013 - acc: 0.7673 - val_loss: 0.7550 - val_acc: 0.7251

Epoch 00058: val_loss did not improve from 0.70317
Epoch 59/500
 - 3s - loss: 0.7196 - acc: 0.7563 - val_loss: 0.7014 - val_acc: 0.7687

Epoch 00059: val_loss improved from 0.70317 to 0.70138, saving model to weights-improvement-best-model.hdf5
Epoch 60/500
 - 3s - loss: 0.6953 - acc: 0.7710 - val_loss: 0.6997 - val_acc: 0.7684

Epoch 00060: val_loss improved from 0.70138 to 0.69966, saving model to weights-improvement-best-model.hdf5
Epoch 61/500
 - 3s - loss: 0.6936 - acc: 0.7703 - val_loss: 0.7254 - val_acc: 0.7497

Epoch 00061: val_loss did not improve from 0.69966
Epoch 62/500
 - 3s - loss: 0.7219 - acc: 0.7545 - val_loss: 0.7068 - val_acc: 0.7646

Epoch 00062: val_loss did not improve from 0.69966
Epoch 63/500
 - 3s - loss: 0.6949 - acc: 0.7694 - val_loss: 0.6936 - val_acc: 0.7716

Epoch 00063: val_loss improved from 0.69966 to 0.69362, saving model to weights-improvement-best-model.hdf5
Epoch 64/500
 - 3s - loss: 0.6897 - acc: 0.7712 - val_loss: 0.7014 - val_acc: 0.7650

Epoch 00064: val_loss did not improve from 0.69362
Epoch 65/500
 - 3s - loss: 0.7130 - acc: 0.7574 - val_loss: 0.6948 - val_acc: 0.7692

Epoch 00065: val_loss did not improve from 0.69362
Epoch 66/500
 - 3s - loss: 0.6884 - acc: 0.7716 - val_loss: 0.6958 - val_acc: 0.7652

Epoch 00066: val_loss did not improve from 0.69362
Epoch 67/500
 - 3s - loss: 0.6937 - acc: 0.7693 - val_loss: 0.7088 - val_acc: 0.7604

Epoch 00067: val_loss did not improve from 0.69362
Epoch 68/500
 - 3s - loss: 0.7003 - acc: 0.7623 - val_loss: 0.6924 - val_acc: 0.7652

Epoch 00068: val_loss improved from 0.69362 to 0.69243, saving model to weights-improvement-best-model.hdf5
Epoch 69/500
 - 3s - loss: 0.6903 - acc: 0.7702 - val_loss: 0.6992 - val_acc: 0.7652

Epoch 00069: val_loss did not improve from 0.69243
Epoch 70/500
 - 3s - loss: 0.6929 - acc: 0.7680 - val_loss: 0.6939 - val_acc: 0.7714

Epoch 00070: val_loss did not improve from 0.69243
Epoch 71/500
 - 3s - loss: 0.6879 - acc: 0.7725 - val_loss: 0.7020 - val_acc: 0.7657

Epoch 00071: val_loss did not improve from 0.69243
Epoch 72/500
 - 3s - loss: 0.6853 - acc: 0.7742 - val_loss: 0.7177 - val_acc: 0.7623

Epoch 00072: val_loss did not improve from 0.69243
Epoch 73/500
 - 3s - loss: 0.7134 - acc: 0.7582 - val_loss: 0.6913 - val_acc: 0.7685

Epoch 00073: val_loss improved from 0.69243 to 0.69134, saving model to weights-improvement-best-model.hdf5
Epoch 74/500
 - 3s - loss: 0.6820 - acc: 0.7763 - val_loss: 0.6881 - val_acc: 0.7704

Epoch 00074: val_loss improved from 0.69134 to 0.68813, saving model to weights-improvement-best-model.hdf5
Epoch 75/500
 - 3s - loss: 0.6792 - acc: 0.7772 - val_loss: 0.6908 - val_acc: 0.7720

Epoch 00075: val_loss did not improve from 0.68813
Epoch 76/500
 - 3s - loss: 0.6810 - acc: 0.7783 - val_loss: 0.7487 - val_acc: 0.7525

Epoch 00076: val_loss did not improve from 0.68813
Epoch 77/500
 - 3s - loss: 0.7158 - acc: 0.7579 - val_loss: 0.6872 - val_acc: 0.7716

Epoch 00077: val_loss improved from 0.68813 to 0.68725, saving model to weights-improvement-best-model.hdf5
Epoch 78/500
 - 3s - loss: 0.6772 - acc: 0.7780 - val_loss: 0.6892 - val_acc: 0.7705

Epoch 00078: val_loss did not improve from 0.68725
Epoch 79/500
 - 3s - loss: 0.6857 - acc: 0.7737 - val_loss: 0.7127 - val_acc: 0.7586

Epoch 00079: val_loss did not improve from 0.68725
Epoch 80/500
 - 3s - loss: 0.6923 - acc: 0.7701 - val_loss: 0.6839 - val_acc: 0.7699

Epoch 00080: val_loss improved from 0.68725 to 0.68388, saving model to weights-improvement-best-model.hdf5
Epoch 81/500
 - 3s - loss: 0.6785 - acc: 0.7771 - val_loss: 0.6947 - val_acc: 0.7650

Epoch 00081: val_loss did not improve from 0.68388
Epoch 82/500
 - 3s - loss: 0.6827 - acc: 0.7761 - val_loss: 0.7019 - val_acc: 0.7670

Epoch 00082: val_loss did not improve from 0.68388
Epoch 83/500
 - 3s - loss: 0.6888 - acc: 0.7734 - val_loss: 0.7127 - val_acc: 0.7509

Epoch 00083: val_loss did not improve from 0.68388
Epoch 84/500
 - 3s - loss: 0.6878 - acc: 0.7714 - val_loss: 0.6932 - val_acc: 0.7743

Epoch 00084: val_loss did not improve from 0.68388
Epoch 85/500
 - 3s - loss: 0.6845 - acc: 0.7749 - val_loss: 0.6936 - val_acc: 0.7704

Epoch 00085: val_loss did not improve from 0.68388
Epoch 86/500
 - 3s - loss: 0.6791 - acc: 0.7781 - val_loss: 0.6901 - val_acc: 0.7724

Epoch 00086: val_loss did not improve from 0.68388
Epoch 87/500
 - 3s - loss: 0.6756 - acc: 0.7814 - val_loss: 0.6958 - val_acc: 0.7677

Epoch 00087: val_loss did not improve from 0.68388
Epoch 88/500
 - 3s - loss: 0.6811 - acc: 0.7771 - val_loss: 0.7309 - val_acc: 0.7433

Epoch 00088: val_loss did not improve from 0.68388
Epoch 89/500
 - 3s - loss: 0.6937 - acc: 0.7696 - val_loss: 0.6822 - val_acc: 0.7772

Epoch 00089: val_loss improved from 0.68388 to 0.68222, saving model to weights-improvement-best-model.hdf5
Epoch 90/500
 - 3s - loss: 0.6707 - acc: 0.7828 - val_loss: 0.7141 - val_acc: 0.7549

Epoch 00090: val_loss did not improve from 0.68222
Epoch 91/500
 - 3s - loss: 0.6863 - acc: 0.7747 - val_loss: 0.7110 - val_acc: 0.7629

Epoch 00091: val_loss did not improve from 0.68222
Epoch 92/500
 - 3s - loss: 0.6825 - acc: 0.7767 - val_loss: 0.6983 - val_acc: 0.7611

Epoch 00092: val_loss did not improve from 0.68222
Epoch 93/500
 - 3s - loss: 0.6767 - acc: 0.7769 - val_loss: 0.6908 - val_acc: 0.7718

Epoch 00093: val_loss did not improve from 0.68222
Epoch 94/500
 - 3s - loss: 0.6771 - acc: 0.7793 - val_loss: 0.7015 - val_acc: 0.7626

Epoch 00094: val_loss did not improve from 0.68222
Epoch 95/500
 - 3s - loss: 0.6831 - acc: 0.7748 - val_loss: 0.7190 - val_acc: 0.7599

Epoch 00095: val_loss did not improve from 0.68222
Epoch 96/500
 - 3s - loss: 0.6805 - acc: 0.7784 - val_loss: 0.6826 - val_acc: 0.7768

Epoch 00096: val_loss did not improve from 0.68222
Epoch 97/500
 - 3s - loss: 0.6650 - acc: 0.7862 - val_loss: 0.6810 - val_acc: 0.7749

Epoch 00097: val_loss improved from 0.68222 to 0.68103, saving model to weights-improvement-best-model.hdf5
Epoch 98/500
 - 3s - loss: 0.6780 - acc: 0.7790 - val_loss: 0.6922 - val_acc: 0.7720

Epoch 00098: val_loss did not improve from 0.68103
Epoch 99/500
 - 3s - loss: 0.6731 - acc: 0.7817 - val_loss: 0.6856 - val_acc: 0.7739

Epoch 00099: val_loss did not improve from 0.68103
Epoch 100/500
 - 3s - loss: 0.6656 - acc: 0.7860 - val_loss: 0.6900 - val_acc: 0.7704

Epoch 00100: val_loss did not improve from 0.68103
Epoch 101/500
 - 3s - loss: 0.6793 - acc: 0.7772 - val_loss: 0.7150 - val_acc: 0.7583

Epoch 00101: val_loss did not improve from 0.68103
Epoch 102/500
 - 3s - loss: 0.6792 - acc: 0.7776 - val_loss: 0.6802 - val_acc: 0.7798

Epoch 00102: val_loss improved from 0.68103 to 0.68016, saving model to weights-improvement-best-model.hdf5
Epoch 103/500
 - 3s - loss: 0.6629 - acc: 0.7861 - val_loss: 0.6899 - val_acc: 0.7721

Epoch 00103: val_loss did not improve from 0.68016
Epoch 104/500
 - 3s - loss: 0.6773 - acc: 0.7778 - val_loss: 0.6950 - val_acc: 0.7672

Epoch 00104: val_loss did not improve from 0.68016
Epoch 105/500
 - 3s - loss: 0.6660 - acc: 0.7839 - val_loss: 0.6814 - val_acc: 0.7789

Epoch 00105: val_loss did not improve from 0.68016
Epoch 106/500
 - 3s - loss: 0.6630 - acc: 0.7865 - val_loss: 0.6790 - val_acc: 0.7784

Epoch 00106: val_loss improved from 0.68016 to 0.67900, saving model to weights-improvement-best-model.hdf5
Epoch 107/500
 - 3s - loss: 0.6786 - acc: 0.7768 - val_loss: 0.7279 - val_acc: 0.7592

Epoch 00107: val_loss did not improve from 0.67900
Epoch 108/500
 - 3s - loss: 0.6789 - acc: 0.7795 - val_loss: 0.6912 - val_acc: 0.7709

Epoch 00108: val_loss did not improve from 0.67900
Epoch 109/500
 - 3s - loss: 0.6684 - acc: 0.7835 - val_loss: 0.6802 - val_acc: 0.7786

Epoch 00109: val_loss did not improve from 0.67900
Epoch 110/500
 - 3s - loss: 0.6699 - acc: 0.7825 - val_loss: 0.7052 - val_acc: 0.7574

Epoch 00110: val_loss did not improve from 0.67900
Epoch 111/500
 - 3s - loss: 0.6739 - acc: 0.7802 - val_loss: 0.6870 - val_acc: 0.7722

Epoch 00111: val_loss did not improve from 0.67900
Epoch 112/500
 - 3s - loss: 0.6636 - acc: 0.7839 - val_loss: 0.7160 - val_acc: 0.7544

Epoch 00112: val_loss did not improve from 0.67900
Epoch 113/500
 - 3s - loss: 0.6774 - acc: 0.7785 - val_loss: 0.6849 - val_acc: 0.7762

Epoch 00113: val_loss did not improve from 0.67900
Epoch 114/500
 - 3s - loss: 0.6630 - acc: 0.7874 - val_loss: 0.6919 - val_acc: 0.7709

Epoch 00114: val_loss did not improve from 0.67900
Epoch 115/500
 - 3s - loss: 0.6835 - acc: 0.7730 - val_loss: 0.6951 - val_acc: 0.7668

Epoch 00115: val_loss did not improve from 0.67900
Epoch 116/500
 - 3s - loss: 0.6653 - acc: 0.7856 - val_loss: 0.7036 - val_acc: 0.7705

Epoch 00116: val_loss did not improve from 0.67900
Epoch 117/500
 - 3s - loss: 0.6746 - acc: 0.7817 - val_loss: 0.6810 - val_acc: 0.7736

Epoch 00117: val_loss did not improve from 0.67900
Epoch 118/500
 - 3s - loss: 0.6599 - acc: 0.7891 - val_loss: 0.6785 - val_acc: 0.7760

Epoch 00118: val_loss improved from 0.67900 to 0.67849, saving model to weights-improvement-best-model.hdf5
Epoch 119/500
 - 3s - loss: 0.6555 - acc: 0.7893 - val_loss: 0.6850 - val_acc: 0.7742

Epoch 00119: val_loss did not improve from 0.67849
Epoch 120/500
 - 3s - loss: 0.6691 - acc: 0.7813 - val_loss: 0.7019 - val_acc: 0.7657

Epoch 00120: val_loss did not improve from 0.67849
Epoch 121/500
 - 3s - loss: 0.6687 - acc: 0.7835 - val_loss: 0.6833 - val_acc: 0.7761

Epoch 00121: val_loss did not improve from 0.67849
Epoch 122/500
 - 3s - loss: 0.6616 - acc: 0.7843 - val_loss: 0.6879 - val_acc: 0.7702

Epoch 00122: val_loss did not improve from 0.67849
Epoch 123/500
 - 3s - loss: 0.6608 - acc: 0.7856 - val_loss: 0.6904 - val_acc: 0.7755

Epoch 00123: val_loss did not improve from 0.67849
Epoch 124/500
 - 3s - loss: 0.6629 - acc: 0.7842 - val_loss: 0.6777 - val_acc: 0.7764

Epoch 00124: val_loss improved from 0.67849 to 0.67774, saving model to weights-improvement-best-model.hdf5
Epoch 125/500
 - 3s - loss: 0.6525 - acc: 0.7931 - val_loss: 0.6864 - val_acc: 0.7721

Epoch 00125: val_loss did not improve from 0.67774
Epoch 126/500
 - 3s - loss: 0.6651 - acc: 0.7860 - val_loss: 0.7114 - val_acc: 0.7530

Epoch 00126: val_loss did not improve from 0.67774
Epoch 127/500
 - 3s - loss: 0.6716 - acc: 0.7809 - val_loss: 0.6854 - val_acc: 0.7754

Epoch 00127: val_loss did not improve from 0.67774
Epoch 128/500
 - 3s - loss: 0.6568 - acc: 0.7911 - val_loss: 0.6940 - val_acc: 0.7716

Epoch 00128: val_loss did not improve from 0.67774
Epoch 129/500
 - 3s - loss: 0.6747 - acc: 0.7783 - val_loss: 0.7097 - val_acc: 0.7554

Epoch 00129: val_loss did not improve from 0.67774
Epoch 130/500
 - 3s - loss: 0.6652 - acc: 0.7840 - val_loss: 0.6791 - val_acc: 0.7755

Epoch 00130: val_loss did not improve from 0.67774
Epoch 131/500
 - 3s - loss: 0.6514 - acc: 0.7933 - val_loss: 0.6773 - val_acc: 0.7744

Epoch 00131: val_loss improved from 0.67774 to 0.67731, saving model to weights-improvement-best-model.hdf5
Epoch 132/500
 - 3s - loss: 0.6538 - acc: 0.7920 - val_loss: 0.7346 - val_acc: 0.7592

Epoch 00132: val_loss did not improve from 0.67731
Epoch 133/500
 - 3s - loss: 0.6856 - acc: 0.7750 - val_loss: 0.6769 - val_acc: 0.7790

Epoch 00133: val_loss improved from 0.67731 to 0.67688, saving model to weights-improvement-best-model.hdf5
Epoch 134/500
 - 3s - loss: 0.6515 - acc: 0.7967 - val_loss: 0.6827 - val_acc: 0.7721

Epoch 00134: val_loss did not improve from 0.67688
Epoch 135/500
 - 3s - loss: 0.6523 - acc: 0.7919 - val_loss: 0.6906 - val_acc: 0.7775

Epoch 00135: val_loss did not improve from 0.67688
Epoch 136/500
 - 3s - loss: 0.6708 - acc: 0.7819 - val_loss: 0.6772 - val_acc: 0.7829

Epoch 00136: val_loss did not improve from 0.67688
Epoch 137/500
 - 3s - loss: 0.6500 - acc: 0.7942 - val_loss: 0.6771 - val_acc: 0.7801

Epoch 00137: val_loss did not improve from 0.67688
Epoch 138/500
 - 3s - loss: 0.6649 - acc: 0.7851 - val_loss: 0.7093 - val_acc: 0.7650

Epoch 00138: val_loss did not improve from 0.67688
Epoch 139/500
 - 3s - loss: 0.6624 - acc: 0.7871 - val_loss: 0.7079 - val_acc: 0.7557

Epoch 00139: val_loss did not improve from 0.67688
Epoch 140/500
 - 3s - loss: 0.6692 - acc: 0.7821 - val_loss: 0.6798 - val_acc: 0.7812

Epoch 00140: val_loss did not improve from 0.67688
Epoch 141/500
 - 3s - loss: 0.6498 - acc: 0.7931 - val_loss: 0.6884 - val_acc: 0.7658

Epoch 00141: val_loss did not improve from 0.67688
Epoch 142/500
 - 3s - loss: 0.6656 - acc: 0.7857 - val_loss: 0.6868 - val_acc: 0.7759

Epoch 00142: val_loss did not improve from 0.67688
Epoch 143/500
 - 3s - loss: 0.6505 - acc: 0.7945 - val_loss: 0.6839 - val_acc: 0.7757

Epoch 00143: val_loss did not improve from 0.67688
Epoch 144/500
 - 3s - loss: 0.6675 - acc: 0.7836 - val_loss: 0.7076 - val_acc: 0.7573

Epoch 00144: val_loss did not improve from 0.67688
Epoch 145/500
 - 3s - loss: 0.6593 - acc: 0.7897 - val_loss: 0.6774 - val_acc: 0.7789

Epoch 00145: val_loss did not improve from 0.67688
Epoch 146/500
 - 3s - loss: 0.6468 - acc: 0.7950 - val_loss: 0.6780 - val_acc: 0.7791

Epoch 00146: val_loss did not improve from 0.67688
Epoch 147/500
 - 3s - loss: 0.6634 - acc: 0.7837 - val_loss: 0.6771 - val_acc: 0.7813

Epoch 00147: val_loss did not improve from 0.67688
Epoch 148/500
 - 3s - loss: 0.6493 - acc: 0.7943 - val_loss: 0.6780 - val_acc: 0.7741

Epoch 00148: val_loss did not improve from 0.67688
Epoch 149/500
 - 3s - loss: 0.6494 - acc: 0.7937 - val_loss: 0.7406 - val_acc: 0.7612

Epoch 00149: val_loss did not improve from 0.67688
Epoch 150/500
 - 3s - loss: 0.6723 - acc: 0.7845 - val_loss: 0.7060 - val_acc: 0.7583

Epoch 00150: val_loss did not improve from 0.67688
Epoch 151/500
 - 3s - loss: 0.6636 - acc: 0.7864 - val_loss: 0.6923 - val_acc: 0.7734

Epoch 00151: val_loss did not improve from 0.67688
Epoch 152/500
 - 3s - loss: 0.6513 - acc: 0.7932 - val_loss: 0.6851 - val_acc: 0.7780

Epoch 00152: val_loss did not improve from 0.67688
Epoch 153/500
 - 3s - loss: 0.6462 - acc: 0.7978 - val_loss: 0.7064 - val_acc: 0.7710

Epoch 00153: val_loss did not improve from 0.67688
Epoch 154/500
 - 3s - loss: 0.6728 - acc: 0.7813 - val_loss: 0.6810 - val_acc: 0.7738

Epoch 00154: val_loss did not improve from 0.67688
Epoch 155/500
 - 3s - loss: 0.6481 - acc: 0.7971 - val_loss: 0.6882 - val_acc: 0.7763

Epoch 00155: val_loss did not improve from 0.67688
Epoch 156/500
 - 3s - loss: 0.6634 - acc: 0.7867 - val_loss: 0.6849 - val_acc: 0.7791

Epoch 00156: val_loss did not improve from 0.67688
Epoch 157/500
 - 3s - loss: 0.6493 - acc: 0.7973 - val_loss: 0.6844 - val_acc: 0.7731

Epoch 00157: val_loss did not improve from 0.67688
Epoch 158/500
 - 3s - loss: 0.6522 - acc: 0.7899 - val_loss: 0.7029 - val_acc: 0.7607

Epoch 00158: val_loss did not improve from 0.67688
Epoch 159/500
 - 3s - loss: 0.6599 - acc: 0.7882 - val_loss: 0.6785 - val_acc: 0.7790

Epoch 00159: val_loss did not improve from 0.67688
Epoch 160/500
 - 3s - loss: 0.6462 - acc: 0.7977 - val_loss: 0.6825 - val_acc: 0.7723

Epoch 00160: val_loss did not improve from 0.67688
Epoch 161/500
 - 3s - loss: 0.6649 - acc: 0.7843 - val_loss: 0.6854 - val_acc: 0.7728

Epoch 00161: val_loss did not improve from 0.67688
Epoch 162/500
 - 3s - loss: 0.6450 - acc: 0.7991 - val_loss: 0.6782 - val_acc: 0.7799

Epoch 00162: val_loss did not improve from 0.67688
Epoch 163/500
 - 3s - loss: 0.6427 - acc: 0.7987 - val_loss: 0.6958 - val_acc: 0.7723

Epoch 00163: val_loss did not improve from 0.67688
Epoch 164/500
 - 3s - loss: 0.6795 - acc: 0.7772 - val_loss: 0.6712 - val_acc: 0.7795

Epoch 00164: val_loss improved from 0.67688 to 0.67119, saving model to weights-improvement-best-model.hdf5
Epoch 165/500
 - 3s - loss: 0.6432 - acc: 0.7982 - val_loss: 0.6875 - val_acc: 0.7766

Epoch 00165: val_loss did not improve from 0.67119
Epoch 166/500
 - 3s - loss: 0.6545 - acc: 0.7907 - val_loss: 0.6796 - val_acc: 0.7761

Epoch 00166: val_loss did not improve from 0.67119
Epoch 167/500
 - 3s - loss: 0.6486 - acc: 0.7933 - val_loss: 0.6914 - val_acc: 0.7774

Epoch 00167: val_loss did not improve from 0.67119
Epoch 168/500
 - 3s - loss: 0.6538 - acc: 0.7910 - val_loss: 0.6865 - val_acc: 0.7775

Epoch 00168: val_loss did not improve from 0.67119
Epoch 169/500
 - 3s - loss: 0.6519 - acc: 0.7932 - val_loss: 0.6824 - val_acc: 0.7784

Epoch 00169: val_loss did not improve from 0.67119
Epoch 170/500
 - 3s - loss: 0.6493 - acc: 0.7928 - val_loss: 0.6925 - val_acc: 0.7634

Epoch 00170: val_loss did not improve from 0.67119
Epoch 171/500
 - 3s - loss: 0.6542 - acc: 0.7902 - val_loss: 0.7087 - val_acc: 0.7704

Epoch 00171: val_loss did not improve from 0.67119
Epoch 172/500
 - 3s - loss: 0.6526 - acc: 0.7928 - val_loss: 0.7007 - val_acc: 0.7625

Epoch 00172: val_loss did not improve from 0.67119
Epoch 173/500
 - 3s - loss: 0.6572 - acc: 0.7876 - val_loss: 0.6781 - val_acc: 0.7817

Epoch 00173: val_loss did not improve from 0.67119
Epoch 174/500
 - 3s - loss: 0.6379 - acc: 0.8015 - val_loss: 0.6865 - val_acc: 0.7734

Epoch 00174: val_loss did not improve from 0.67119
Epoch 175/500
 - 3s - loss: 0.6559 - acc: 0.7883 - val_loss: 0.6737 - val_acc: 0.7817

Epoch 00175: val_loss did not improve from 0.67119
Epoch 176/500
 - 3s - loss: 0.6401 - acc: 0.7994 - val_loss: 0.6948 - val_acc: 0.7723

Epoch 00176: val_loss did not improve from 0.67119
Epoch 177/500
 - 3s - loss: 0.6610 - acc: 0.7871 - val_loss: 0.6923 - val_acc: 0.7702

Epoch 00177: val_loss did not improve from 0.67119
Epoch 178/500
 - 3s - loss: 0.6484 - acc: 0.7958 - val_loss: 0.6840 - val_acc: 0.7750

Epoch 00178: val_loss did not improve from 0.67119
Epoch 179/500
 - 3s - loss: 0.6412 - acc: 0.7987 - val_loss: 0.6823 - val_acc: 0.7803

Epoch 00179: val_loss did not improve from 0.67119
Epoch 180/500
 - 3s - loss: 0.6623 - acc: 0.7862 - val_loss: 0.6829 - val_acc: 0.7787

Epoch 00180: val_loss did not improve from 0.67119
Epoch 181/500
 - 3s - loss: 0.6425 - acc: 0.7966 - val_loss: 0.6835 - val_acc: 0.7815

Epoch 00181: val_loss did not improve from 0.67119
Epoch 182/500
 - 3s - loss: 0.6441 - acc: 0.7950 - val_loss: 0.6781 - val_acc: 0.7791

Epoch 00182: val_loss did not improve from 0.67119
Epoch 183/500
 - 3s - loss: 0.6432 - acc: 0.7968 - val_loss: 0.6849 - val_acc: 0.7743

Epoch 00183: val_loss did not improve from 0.67119
Epoch 184/500
 - 3s - loss: 0.6473 - acc: 0.7957 - val_loss: 0.7240 - val_acc: 0.7671

Epoch 00184: val_loss did not improve from 0.67119
Epoch 185/500
 - 3s - loss: 0.6598 - acc: 0.7882 - val_loss: 0.6770 - val_acc: 0.7766

Epoch 00185: val_loss did not improve from 0.67119
Epoch 186/500
 - 3s - loss: 0.6465 - acc: 0.7959 - val_loss: 0.6883 - val_acc: 0.7743

Epoch 00186: val_loss did not improve from 0.67119
Epoch 187/500
 - 3s - loss: 0.6418 - acc: 0.7977 - val_loss: 0.6901 - val_acc: 0.7703

Epoch 00187: val_loss did not improve from 0.67119
Epoch 188/500
 - 3s - loss: 0.6435 - acc: 0.7954 - val_loss: 0.6928 - val_acc: 0.7748

Epoch 00188: val_loss did not improve from 0.67119
Epoch 189/500
 - 3s - loss: 0.6528 - acc: 0.7930 - val_loss: 0.6787 - val_acc: 0.7758

Epoch 00189: val_loss did not improve from 0.67119
Epoch 190/500
 - 3s - loss: 0.6374 - acc: 0.8012 - val_loss: 0.6826 - val_acc: 0.7786

Epoch 00190: val_loss did not improve from 0.67119
Epoch 191/500
 - 3s - loss: 0.6359 - acc: 0.8029 - val_loss: 0.6848 - val_acc: 0.7824

Epoch 00191: val_loss did not improve from 0.67119
Epoch 192/500
 - 3s - loss: 0.6391 - acc: 0.8022 - val_loss: 0.6773 - val_acc: 0.7780

Epoch 00192: val_loss did not improve from 0.67119
Epoch 193/500
 - 3s - loss: 0.6759 - acc: 0.7783 - val_loss: 0.6853 - val_acc: 0.7742

Epoch 00193: val_loss did not improve from 0.67119
Epoch 194/500
 - 3s - loss: 0.6390 - acc: 0.7996 - val_loss: 0.6795 - val_acc: 0.7770

Epoch 00194: val_loss did not improve from 0.67119
Epoch 195/500
 - 3s - loss: 0.6400 - acc: 0.7979 - val_loss: 0.7035 - val_acc: 0.7732

Epoch 00195: val_loss did not improve from 0.67119
Epoch 196/500
 - 3s - loss: 0.6561 - acc: 0.7898 - val_loss: 0.6977 - val_acc: 0.7666

Epoch 00196: val_loss did not improve from 0.67119
Epoch 197/500
 - 3s - loss: 0.6433 - acc: 0.7958 - val_loss: 0.6798 - val_acc: 0.7774

Epoch 00197: val_loss did not improve from 0.67119
Epoch 198/500
 - 3s - loss: 0.6379 - acc: 0.8005 - val_loss: 0.6847 - val_acc: 0.7749

Epoch 00198: val_loss did not improve from 0.67119
Epoch 199/500
 - 3s - loss: 0.6481 - acc: 0.7922 - val_loss: 0.6840 - val_acc: 0.7742

Epoch 00199: val_loss did not improve from 0.67119
Epoch 200/500
 - 3s - loss: 0.6344 - acc: 0.8012 - val_loss: 0.6901 - val_acc: 0.7754

Epoch 00200: val_loss did not improve from 0.67119
Epoch 201/500
 - 3s - loss: 0.6584 - acc: 0.7887 - val_loss: 0.6753 - val_acc: 0.7830

Epoch 00201: val_loss did not improve from 0.67119
Epoch 202/500
 - 3s - loss: 0.6371 - acc: 0.8003 - val_loss: 0.6886 - val_acc: 0.7780

Epoch 00202: val_loss did not improve from 0.67119
Epoch 203/500
 - 3s - loss: 0.6528 - acc: 0.7920 - val_loss: 0.6736 - val_acc: 0.7846

Epoch 00203: val_loss did not improve from 0.67119
Epoch 204/500
 - 3s - loss: 0.6341 - acc: 0.8045 - val_loss: 0.6985 - val_acc: 0.7691

Epoch 00204: val_loss did not improve from 0.67119
Epoch 205/500
 - 3s - loss: 0.6527 - acc: 0.7925 - val_loss: 0.6900 - val_acc: 0.7646

Epoch 00205: val_loss did not improve from 0.67119
Epoch 206/500
 - 3s - loss: 0.6498 - acc: 0.7896 - val_loss: 0.6947 - val_acc: 0.7769

Epoch 00206: val_loss did not improve from 0.67119
Epoch 207/500
 - 3s - loss: 0.6412 - acc: 0.7997 - val_loss: 0.6727 - val_acc: 0.7785

Epoch 00207: val_loss did not improve from 0.67119
Epoch 208/500
 - 3s - loss: 0.6320 - acc: 0.8061 - val_loss: 0.6858 - val_acc: 0.7755

Epoch 00208: val_loss did not improve from 0.67119
Epoch 209/500
 - 3s - loss: 0.6339 - acc: 0.8027 - val_loss: 0.7185 - val_acc: 0.7692

Epoch 00209: val_loss did not improve from 0.67119
Epoch 210/500
 - 3s - loss: 0.6715 - acc: 0.7808 - val_loss: 0.6726 - val_acc: 0.7825

Epoch 00210: val_loss did not improve from 0.67119
Epoch 211/500
 - 3s - loss: 0.6307 - acc: 0.8045 - val_loss: 0.6795 - val_acc: 0.7839

Epoch 00211: val_loss did not improve from 0.67119
Epoch 212/500
 - 3s - loss: 0.6393 - acc: 0.7986 - val_loss: 0.6887 - val_acc: 0.7732

Epoch 00212: val_loss did not improve from 0.67119
Epoch 213/500
 - 3s - loss: 0.6496 - acc: 0.7947 - val_loss: 0.6737 - val_acc: 0.7828

Epoch 00213: val_loss did not improve from 0.67119
Epoch 214/500
 - 3s - loss: 0.6324 - acc: 0.8044 - val_loss: 0.6696 - val_acc: 0.7800

Epoch 00214: val_loss improved from 0.67119 to 0.66956, saving model to weights-improvement-best-model.hdf5
Epoch 215/500
 - 3s - loss: 0.6309 - acc: 0.8052 - val_loss: 0.6847 - val_acc: 0.7713

Epoch 00215: val_loss did not improve from 0.66956
Epoch 216/500
 - 3s - loss: 0.6629 - acc: 0.7870 - val_loss: 0.7237 - val_acc: 0.7683

Epoch 00216: val_loss did not improve from 0.66956
Epoch 217/500
 - 3s - loss: 0.6469 - acc: 0.7980 - val_loss: 0.6757 - val_acc: 0.7812

Epoch 00217: val_loss did not improve from 0.66956
Epoch 218/500
 - 3s - loss: 0.6331 - acc: 0.8029 - val_loss: 0.6745 - val_acc: 0.7773

Epoch 00218: val_loss did not improve from 0.66956
Epoch 219/500
 - 3s - loss: 0.6398 - acc: 0.7994 - val_loss: 0.6802 - val_acc: 0.7830

Epoch 00219: val_loss did not improve from 0.66956
Epoch 220/500
 - 3s - loss: 0.6373 - acc: 0.8005 - val_loss: 0.7087 - val_acc: 0.7517

Epoch 00220: val_loss did not improve from 0.66956
Epoch 221/500
 - 3s - loss: 0.6527 - acc: 0.7910 - val_loss: 0.6850 - val_acc: 0.7782

Epoch 00221: val_loss did not improve from 0.66956
Epoch 222/500
 - 3s - loss: 0.6330 - acc: 0.8040 - val_loss: 0.6838 - val_acc: 0.7778

Epoch 00222: val_loss did not improve from 0.66956
Epoch 223/500
 - 3s - loss: 0.6431 - acc: 0.7980 - val_loss: 0.6815 - val_acc: 0.7749

Epoch 00223: val_loss did not improve from 0.66956
Epoch 224/500
 - 3s - loss: 0.6356 - acc: 0.8027 - val_loss: 0.6942 - val_acc: 0.7746

Epoch 00224: val_loss did not improve from 0.66956
Epoch 225/500
 - 3s - loss: 0.6486 - acc: 0.7935 - val_loss: 0.6912 - val_acc: 0.7612

Epoch 00225: val_loss did not improve from 0.66956
Epoch 226/500
 - 3s - loss: 0.6381 - acc: 0.7990 - val_loss: 0.6918 - val_acc: 0.7740

Epoch 00226: val_loss did not improve from 0.66956
Epoch 227/500
 - 3s - loss: 0.6380 - acc: 0.8000 - val_loss: 0.6832 - val_acc: 0.7763

Epoch 00227: val_loss did not improve from 0.66956
Epoch 228/500
 - 3s - loss: 0.6398 - acc: 0.7980 - val_loss: 0.6830 - val_acc: 0.7787

Epoch 00228: val_loss did not improve from 0.66956
Epoch 229/500
 - 3s - loss: 0.6371 - acc: 0.7985 - val_loss: 0.6814 - val_acc: 0.7706

Epoch 00229: val_loss did not improve from 0.66956
Epoch 230/500
 - 4s - loss: 0.6426 - acc: 0.7985 - val_loss: 0.6818 - val_acc: 0.7795

Epoch 00230: val_loss did not improve from 0.66956
Epoch 231/500
 - 3s - loss: 0.6313 - acc: 0.8060 - val_loss: 0.6734 - val_acc: 0.7811

Epoch 00231: val_loss did not improve from 0.66956
Epoch 232/500
 - 3s - loss: 0.6471 - acc: 0.7957 - val_loss: 0.6893 - val_acc: 0.7703

Epoch 00232: val_loss did not improve from 0.66956
Epoch 233/500
 - 3s - loss: 0.6312 - acc: 0.8064 - val_loss: 0.6817 - val_acc: 0.7825

Epoch 00233: val_loss did not improve from 0.66956
Epoch 234/500
 - 3s - loss: 0.6348 - acc: 0.8044 - val_loss: 0.6956 - val_acc: 0.7667

Epoch 00234: val_loss did not improve from 0.66956
Epoch 235/500
 - 3s - loss: 0.6473 - acc: 0.7962 - val_loss: 0.6958 - val_acc: 0.7786

Epoch 00235: val_loss did not improve from 0.66956
Epoch 236/500
 - 3s - loss: 0.6464 - acc: 0.7957 - val_loss: 0.6835 - val_acc: 0.7741

Epoch 00236: val_loss did not improve from 0.66956
Epoch 237/500
 - 3s - loss: 0.6328 - acc: 0.8031 - val_loss: 0.6922 - val_acc: 0.7757

Epoch 00237: val_loss did not improve from 0.66956
Epoch 238/500
 - 3s - loss: 0.6342 - acc: 0.8057 - val_loss: 0.6855 - val_acc: 0.7733

Epoch 00238: val_loss did not improve from 0.66956
Epoch 239/500
 - 3s - loss: 0.6476 - acc: 0.7928 - val_loss: 0.6780 - val_acc: 0.7787

Epoch 00239: val_loss did not improve from 0.66956
Epoch 240/500
 - 3s - loss: 0.6270 - acc: 0.8062 - val_loss: 0.6869 - val_acc: 0.7771

Epoch 00240: val_loss did not improve from 0.66956
Epoch 241/500
 - 3s - loss: 0.6420 - acc: 0.7965 - val_loss: 0.7095 - val_acc: 0.7703

Epoch 00241: val_loss did not improve from 0.66956
Epoch 242/500
 - 3s - loss: 0.6385 - acc: 0.8021 - val_loss: 0.6807 - val_acc: 0.7795

Epoch 00242: val_loss did not improve from 0.66956
Epoch 243/500
 - 3s - loss: 0.6284 - acc: 0.8052 - val_loss: 0.6933 - val_acc: 0.7769

Epoch 00243: val_loss did not improve from 0.66956
Epoch 244/500
 - 3s - loss: 0.6435 - acc: 0.7970 - val_loss: 0.6946 - val_acc: 0.7629

Epoch 00244: val_loss did not improve from 0.66956
Epoch 245/500
 - 3s - loss: 0.6373 - acc: 0.8019 - val_loss: 0.6802 - val_acc: 0.7775

Epoch 00245: val_loss did not improve from 0.66956
Epoch 246/500
 - 3s - loss: 0.6367 - acc: 0.8014 - val_loss: 0.6936 - val_acc: 0.7672

Epoch 00246: val_loss did not improve from 0.66956
Epoch 247/500
 - 3s - loss: 0.6322 - acc: 0.8046 - val_loss: 0.6822 - val_acc: 0.7829

Epoch 00247: val_loss did not improve from 0.66956
Epoch 248/500
 - 3s - loss: 0.6353 - acc: 0.8016 - val_loss: 0.6898 - val_acc: 0.7714

Epoch 00248: val_loss did not improve from 0.66956
Epoch 249/500
 - 3s - loss: 0.6358 - acc: 0.8003 - val_loss: 0.6774 - val_acc: 0.7807

Epoch 00249: val_loss did not improve from 0.66956
Epoch 250/500
 - 3s - loss: 0.6274 - acc: 0.8043 - val_loss: 0.6746 - val_acc: 0.7827

Epoch 00250: val_loss did not improve from 0.66956
Epoch 251/500
 - 3s - loss: 0.6212 - acc: 0.8077 - val_loss: 0.6931 - val_acc: 0.7666

Epoch 00251: val_loss did not improve from 0.66956
Epoch 252/500
 - 3s - loss: 0.6608 - acc: 0.7881 - val_loss: 0.6938 - val_acc: 0.7782

Epoch 00252: val_loss did not improve from 0.66956
Epoch 253/500
 - 3s - loss: 0.6291 - acc: 0.8054 - val_loss: 0.6769 - val_acc: 0.7780

Epoch 00253: val_loss did not improve from 0.66956
Epoch 254/500
 - 3s - loss: 0.6247 - acc: 0.8090 - val_loss: 0.6919 - val_acc: 0.7751

Epoch 00254: val_loss did not improve from 0.66956
Epoch 255/500
 - 3s - loss: 0.6511 - acc: 0.7934 - val_loss: 0.6776 - val_acc: 0.7811

Epoch 00255: val_loss did not improve from 0.66956
Epoch 256/500
 - 3s - loss: 0.6258 - acc: 0.8091 - val_loss: 0.6738 - val_acc: 0.7856

Epoch 00256: val_loss did not improve from 0.66956
Epoch 257/500
 - 3s - loss: 0.6291 - acc: 0.8046 - val_loss: 0.6796 - val_acc: 0.7726

Epoch 00257: val_loss did not improve from 0.66956
Epoch 258/500
 - 3s - loss: 0.6341 - acc: 0.8031 - val_loss: 0.7047 - val_acc: 0.7720

Epoch 00258: val_loss did not improve from 0.66956
Epoch 259/500
 - 3s - loss: 0.6365 - acc: 0.7978 - val_loss: 0.6968 - val_acc: 0.7699

Epoch 00259: val_loss did not improve from 0.66956
Epoch 260/500
 - 3s - loss: 0.6332 - acc: 0.8014 - val_loss: 0.6914 - val_acc: 0.7809

Epoch 00260: val_loss did not improve from 0.66956
Epoch 261/500
 - 3s - loss: 0.6311 - acc: 0.8036 - val_loss: 0.6966 - val_acc: 0.7666

Epoch 00261: val_loss did not improve from 0.66956
Epoch 262/500
 - 3s - loss: 0.6433 - acc: 0.7961 - val_loss: 0.6844 - val_acc: 0.7772

Epoch 00262: val_loss did not improve from 0.66956
Epoch 263/500
 - 3s - loss: 0.6322 - acc: 0.8026 - val_loss: 0.6807 - val_acc: 0.7733

Epoch 00263: val_loss did not improve from 0.66956
Epoch 264/500
 - 3s - loss: 0.6253 - acc: 0.8061 - val_loss: 0.6793 - val_acc: 0.7819

Epoch 00264: val_loss did not improve from 0.66956
Epoch 265/500
 - 3s - loss: 0.6256 - acc: 0.8046 - val_loss: 0.6865 - val_acc: 0.7714

Epoch 00265: val_loss did not improve from 0.66956
Epoch 266/500
 - 3s - loss: 0.6446 - acc: 0.7948 - val_loss: 0.6989 - val_acc: 0.7806

Epoch 00266: val_loss did not improve from 0.66956
Epoch 267/500
 - 3s - loss: 0.6340 - acc: 0.8024 - val_loss: 0.7139 - val_acc: 0.7542

Epoch 00267: val_loss did not improve from 0.66956
Epoch 268/500
 - 3s - loss: 0.6397 - acc: 0.7963 - val_loss: 0.6818 - val_acc: 0.7818

Epoch 00268: val_loss did not improve from 0.66956
Epoch 269/500
 - 3s - loss: 0.6217 - acc: 0.8103 - val_loss: 0.6819 - val_acc: 0.7731

Epoch 00269: val_loss did not improve from 0.66956
Epoch 270/500
 - 3s - loss: 0.6358 - acc: 0.8017 - val_loss: 0.6972 - val_acc: 0.7760

Epoch 00270: val_loss did not improve from 0.66956
Epoch 271/500
 - 3s - loss: 0.6331 - acc: 0.8019 - val_loss: 0.6740 - val_acc: 0.7803

Epoch 00271: val_loss did not improve from 0.66956
Epoch 272/500
 - 3s - loss: 0.6245 - acc: 0.8063 - val_loss: 0.7027 - val_acc: 0.7748

Epoch 00272: val_loss did not improve from 0.66956
Epoch 273/500
 - 3s - loss: 0.6384 - acc: 0.7999 - val_loss: 0.7039 - val_acc: 0.7594

Epoch 00273: val_loss did not improve from 0.66956
Epoch 274/500
 - 3s - loss: 0.6358 - acc: 0.8019 - val_loss: 0.6735 - val_acc: 0.7827

Epoch 00274: val_loss did not improve from 0.66956
Epoch 275/500
 - 3s - loss: 0.6201 - acc: 0.8105 - val_loss: 0.6733 - val_acc: 0.7796

Epoch 00275: val_loss did not improve from 0.66956
Epoch 276/500
 - 3s - loss: 0.6191 - acc: 0.8096 - val_loss: 0.6817 - val_acc: 0.7748

Epoch 00276: val_loss did not improve from 0.66956
Epoch 277/500
 - 3s - loss: 0.6536 - acc: 0.7886 - val_loss: 0.6813 - val_acc: 0.7788

Epoch 00277: val_loss did not improve from 0.66956
Epoch 278/500
 - 3s - loss: 0.6207 - acc: 0.8099 - val_loss: 0.7231 - val_acc: 0.7496

Epoch 00278: val_loss did not improve from 0.66956
Epoch 279/500
 - 3s - loss: 0.6488 - acc: 0.7931 - val_loss: 0.6830 - val_acc: 0.7787

Epoch 00279: val_loss did not improve from 0.66956
Epoch 280/500
 - 3s - loss: 0.6200 - acc: 0.8104 - val_loss: 0.6757 - val_acc: 0.7800

Epoch 00280: val_loss did not improve from 0.66956
Epoch 281/500
 - 3s - loss: 0.6222 - acc: 0.8085 - val_loss: 0.6863 - val_acc: 0.7802

Epoch 00281: val_loss did not improve from 0.66956
Epoch 282/500
 - 3s - loss: 0.6317 - acc: 0.8035 - val_loss: 0.6997 - val_acc: 0.7647

Epoch 00282: val_loss did not improve from 0.66956
Epoch 283/500
 - 3s - loss: 0.6402 - acc: 0.7973 - val_loss: 0.6855 - val_acc: 0.7780

Epoch 00283: val_loss did not improve from 0.66956
Epoch 284/500
 - 3s - loss: 0.6289 - acc: 0.8035 - val_loss: 0.6759 - val_acc: 0.7794

Epoch 00284: val_loss did not improve from 0.66956
Epoch 285/500
 - 3s - loss: 0.6162 - acc: 0.8112 - val_loss: 0.6923 - val_acc: 0.7751

Epoch 00285: val_loss did not improve from 0.66956
Epoch 286/500
 - 3s - loss: 0.6372 - acc: 0.8019 - val_loss: 0.6984 - val_acc: 0.7736

Epoch 00286: val_loss did not improve from 0.66956
Epoch 287/500
 - 4s - loss: 0.6325 - acc: 0.8041 - val_loss: 0.6838 - val_acc: 0.7795

Epoch 00287: val_loss did not improve from 0.66956
Epoch 288/500
 - 3s - loss: 0.6240 - acc: 0.8057 - val_loss: 0.6725 - val_acc: 0.7821

Epoch 00288: val_loss did not improve from 0.66956
Epoch 289/500
 - 3s - loss: 0.6176 - acc: 0.8098 - val_loss: 0.6818 - val_acc: 0.7766

Epoch 00289: val_loss did not improve from 0.66956
Epoch 290/500
 - 3s - loss: 0.6371 - acc: 0.7991 - val_loss: 0.6899 - val_acc: 0.7812

Epoch 00290: val_loss did not improve from 0.66956
Epoch 291/500
 - 3s - loss: 0.6291 - acc: 0.8068 - val_loss: 0.6904 - val_acc: 0.7630

Epoch 00291: val_loss did not improve from 0.66956
Epoch 292/500
 - 3s - loss: 0.6370 - acc: 0.7988 - val_loss: 0.6798 - val_acc: 0.7796

Epoch 00292: val_loss did not improve from 0.66956
Epoch 293/500
 - 3s - loss: 0.6160 - acc: 0.8113 - val_loss: 0.6998 - val_acc: 0.7765

Epoch 00293: val_loss did not improve from 0.66956
Epoch 294/500
 - 3s - loss: 0.6298 - acc: 0.8026 - val_loss: 0.6956 - val_acc: 0.7763

Epoch 00294: val_loss did not improve from 0.66956
Epoch 295/500
 - 3s - loss: 0.6369 - acc: 0.7990 - val_loss: 0.6986 - val_acc: 0.7607

Epoch 00295: val_loss did not improve from 0.66956
Epoch 296/500
 - 3s - loss: 0.6262 - acc: 0.8040 - val_loss: 0.6705 - val_acc: 0.7830

Epoch 00296: val_loss did not improve from 0.66956
Epoch 297/500
 - 3s - loss: 0.6151 - acc: 0.8133 - val_loss: 0.6820 - val_acc: 0.7747

Epoch 00297: val_loss did not improve from 0.66956
Epoch 298/500
 - 3s - loss: 0.6324 - acc: 0.8023 - val_loss: 0.6956 - val_acc: 0.7622

Epoch 00298: val_loss did not improve from 0.66956
Epoch 299/500
 - 3s - loss: 0.6321 - acc: 0.8038 - val_loss: 0.6755 - val_acc: 0.7846

Epoch 00299: val_loss did not improve from 0.66956
Epoch 300/500
 - 3s - loss: 0.6250 - acc: 0.8062 - val_loss: 0.6771 - val_acc: 0.7779

Epoch 00300: val_loss did not improve from 0.66956
Epoch 301/500
 - 3s - loss: 0.6222 - acc: 0.8070 - val_loss: 0.6792 - val_acc: 0.7800

Epoch 00301: val_loss did not improve from 0.66956
Epoch 302/500
 - 3s - loss: 0.6200 - acc: 0.8070 - val_loss: 0.6897 - val_acc: 0.7723

Epoch 00302: val_loss did not improve from 0.66956
Epoch 303/500
 - 3s - loss: 0.6200 - acc: 0.8100 - val_loss: 0.6866 - val_acc: 0.7794

Epoch 00303: val_loss did not improve from 0.66956
Epoch 304/500
 - 3s - loss: 0.6413 - acc: 0.7956 - val_loss: 0.6727 - val_acc: 0.7816

Epoch 00304: val_loss did not improve from 0.66956
Epoch 305/500
 - 3s - loss: 0.6157 - acc: 0.8109 - val_loss: 0.6769 - val_acc: 0.7853

Epoch 00305: val_loss did not improve from 0.66956
Epoch 306/500
 - 3s - loss: 0.6276 - acc: 0.8034 - val_loss: 0.7038 - val_acc: 0.7697

Epoch 00306: val_loss did not improve from 0.66956
Epoch 307/500
 - 3s - loss: 0.6290 - acc: 0.8033 - val_loss: 0.6837 - val_acc: 0.7830

Epoch 00307: val_loss did not improve from 0.66956
Epoch 308/500
 - 3s - loss: 0.6161 - acc: 0.8107 - val_loss: 0.6838 - val_acc: 0.7782

Epoch 00308: val_loss did not improve from 0.66956
Epoch 309/500
 - 3s - loss: 0.6232 - acc: 0.8062 - val_loss: 0.6922 - val_acc: 0.7777

Epoch 00309: val_loss did not improve from 0.66956
Epoch 310/500
 - 3s - loss: 0.6287 - acc: 0.8044 - val_loss: 0.6848 - val_acc: 0.7769

Epoch 00310: val_loss did not improve from 0.66956
Epoch 311/500
 - 3s - loss: 0.6229 - acc: 0.8106 - val_loss: 0.6869 - val_acc: 0.7797

Epoch 00311: val_loss did not improve from 0.66956
Epoch 312/500
 - 3s - loss: 0.6250 - acc: 0.8069 - val_loss: 0.6858 - val_acc: 0.7746

Epoch 00312: val_loss did not improve from 0.66956
Epoch 313/500
 - 3s - loss: 0.6269 - acc: 0.8054 - val_loss: 0.7099 - val_acc: 0.7734

Epoch 00313: val_loss did not improve from 0.66956
Epoch 314/500
 - 3s - loss: 0.6353 - acc: 0.8024 - val_loss: 0.6855 - val_acc: 0.7742

Epoch 00314: val_loss did not improve from 0.66956
Epoch 315/500
 - 3s - loss: 0.6209 - acc: 0.8097 - val_loss: 0.6911 - val_acc: 0.7805

Epoch 00315: val_loss did not improve from 0.66956
Epoch 316/500
 - 3s - loss: 0.6224 - acc: 0.8091 - val_loss: 0.7003 - val_acc: 0.7658

Epoch 00316: val_loss did not improve from 0.66956
Epoch 317/500
 - 3s - loss: 0.6378 - acc: 0.7986 - val_loss: 0.6826 - val_acc: 0.7824

Epoch 00317: val_loss did not improve from 0.66956
Epoch 318/500
 - 3s - loss: 0.6156 - acc: 0.8147 - val_loss: 0.6748 - val_acc: 0.7833

Epoch 00318: val_loss did not improve from 0.66956
Epoch 319/500
 - 3s - loss: 0.6186 - acc: 0.8090 - val_loss: 0.7245 - val_acc: 0.7701

Epoch 00319: val_loss did not improve from 0.66956
Epoch 320/500
 - 3s - loss: 0.6412 - acc: 0.7977 - val_loss: 0.6718 - val_acc: 0.7828

Epoch 00320: val_loss did not improve from 0.66956
Epoch 321/500
 - 3s - loss: 0.6133 - acc: 0.8136 - val_loss: 0.6947 - val_acc: 0.7858

Epoch 00321: val_loss did not improve from 0.66956
Epoch 322/500
 - 3s - loss: 0.6242 - acc: 0.8077 - val_loss: 0.6928 - val_acc: 0.7716

Epoch 00322: val_loss did not improve from 0.66956
Epoch 323/500
 - 3s - loss: 0.6327 - acc: 0.8021 - val_loss: 0.6760 - val_acc: 0.7788

Epoch 00323: val_loss did not improve from 0.66956
Epoch 324/500
 - 3s - loss: 0.6144 - acc: 0.8145 - val_loss: 0.7220 - val_acc: 0.7778

Epoch 00324: val_loss did not improve from 0.66956
Epoch 325/500
 - 3s - loss: 0.6310 - acc: 0.8048 - val_loss: 0.6808 - val_acc: 0.7741

Epoch 00325: val_loss did not improve from 0.66956
Epoch 326/500
 - 3s - loss: 0.6218 - acc: 0.8074 - val_loss: 0.7095 - val_acc: 0.7757

Epoch 00326: val_loss did not improve from 0.66956
Epoch 327/500
 - 3s - loss: 0.6301 - acc: 0.8044 - val_loss: 0.6728 - val_acc: 0.7814

Epoch 00327: val_loss did not improve from 0.66956
Epoch 328/500
 - 3s - loss: 0.6147 - acc: 0.8122 - val_loss: 0.6847 - val_acc: 0.7829

Epoch 00328: val_loss did not improve from 0.66956
Epoch 329/500
 - 3s - loss: 0.6254 - acc: 0.8091 - val_loss: 0.6806 - val_acc: 0.7738

Epoch 00329: val_loss did not improve from 0.66956
Epoch 330/500
 - 3s - loss: 0.6232 - acc: 0.8080 - val_loss: 0.7037 - val_acc: 0.7768

Epoch 00330: val_loss did not improve from 0.66956
Epoch 331/500
 - 3s - loss: 0.6248 - acc: 0.8074 - val_loss: 0.7197 - val_acc: 0.7563

Epoch 00331: val_loss did not improve from 0.66956
Epoch 332/500
 - 3s - loss: 0.6277 - acc: 0.8043 - val_loss: 0.6817 - val_acc: 0.7796

Epoch 00332: val_loss did not improve from 0.66956
Epoch 333/500
 - 3s - loss: 0.6147 - acc: 0.8154 - val_loss: 0.6929 - val_acc: 0.7656

Epoch 00333: val_loss did not improve from 0.66956
Epoch 334/500
 - 3s - loss: 0.6359 - acc: 0.7978 - val_loss: 0.6888 - val_acc: 0.7804

Epoch 00334: val_loss did not improve from 0.66956
Epoch 335/500
 - 3s - loss: 0.6177 - acc: 0.8105 - val_loss: 0.6795 - val_acc: 0.7782

Epoch 00335: val_loss did not improve from 0.66956
Epoch 336/500
 - 3s - loss: 0.6127 - acc: 0.8142 - val_loss: 0.6866 - val_acc: 0.7779

Epoch 00336: val_loss did not improve from 0.66956
Epoch 337/500
 - 3s - loss: 0.6114 - acc: 0.8154 - val_loss: 0.6868 - val_acc: 0.7788

Epoch 00337: val_loss did not improve from 0.66956
Epoch 338/500
 - 3s - loss: 0.6335 - acc: 0.8016 - val_loss: 0.6754 - val_acc: 0.7840

Epoch 00338: val_loss did not improve from 0.66956
Epoch 339/500
 - 3s - loss: 0.6112 - acc: 0.8151 - val_loss: 0.7180 - val_acc: 0.7721

Epoch 00339: val_loss did not improve from 0.66956
Epoch 340/500
 - 3s - loss: 0.6313 - acc: 0.8028 - val_loss: 0.6779 - val_acc: 0.7786

Epoch 00340: val_loss did not improve from 0.66956
Epoch 341/500
 - 3s - loss: 0.6113 - acc: 0.8116 - val_loss: 0.6905 - val_acc: 0.7799

Epoch 00341: val_loss did not improve from 0.66956
Epoch 342/500
 - 3s - loss: 0.6190 - acc: 0.8088 - val_loss: 0.7001 - val_acc: 0.7614

Epoch 00342: val_loss did not improve from 0.66956
Epoch 343/500
 - 3s - loss: 0.6224 - acc: 0.8069 - val_loss: 0.6720 - val_acc: 0.7876

Epoch 00343: val_loss did not improve from 0.66956
Epoch 344/500
 - 3s - loss: 0.6091 - acc: 0.8159 - val_loss: 0.6828 - val_acc: 0.7814

Epoch 00344: val_loss did not improve from 0.66956
Epoch 345/500
 - 3s - loss: 0.6228 - acc: 0.8077 - val_loss: 0.6997 - val_acc: 0.7592

Epoch 00345: val_loss did not improve from 0.66956
Epoch 346/500
 - 3s - loss: 0.6226 - acc: 0.8068 - val_loss: 0.6754 - val_acc: 0.7841

Epoch 00346: val_loss did not improve from 0.66956
Epoch 347/500
 - 3s - loss: 0.6079 - acc: 0.8148 - val_loss: 0.6992 - val_acc: 0.7683

Epoch 00347: val_loss did not improve from 0.66956
Epoch 348/500
 - 3s - loss: 0.6383 - acc: 0.7973 - val_loss: 0.6826 - val_acc: 0.7844

Epoch 00348: val_loss did not improve from 0.66956
Epoch 349/500
 - 3s - loss: 0.6099 - acc: 0.8151 - val_loss: 0.6729 - val_acc: 0.7849

Epoch 00349: val_loss did not improve from 0.66956
Epoch 350/500
 - 3s - loss: 0.6285 - acc: 0.8038 - val_loss: 0.6803 - val_acc: 0.7835

Epoch 00350: val_loss did not improve from 0.66956
Epoch 351/500
 - 3s - loss: 0.6067 - acc: 0.8172 - val_loss: 0.6963 - val_acc: 0.7813

Epoch 00351: val_loss did not improve from 0.66956
Epoch 352/500
 - 3s - loss: 0.6166 - acc: 0.8138 - val_loss: 0.6897 - val_acc: 0.7740

Epoch 00352: val_loss did not improve from 0.66956
Epoch 353/500
 - 4s - loss: 0.6420 - acc: 0.7946 - val_loss: 0.6964 - val_acc: 0.7768

Epoch 00353: val_loss did not improve from 0.66956
Epoch 354/500
 - 3s - loss: 0.6182 - acc: 0.8095 - val_loss: 0.6828 - val_acc: 0.7742

Epoch 00354: val_loss did not improve from 0.66956
Epoch 355/500
 - 4s - loss: 0.6180 - acc: 0.8090 - val_loss: 0.6728 - val_acc: 0.7876

Epoch 00355: val_loss did not improve from 0.66956
Epoch 356/500
 - 3s - loss: 0.6123 - acc: 0.8141 - val_loss: 0.7266 - val_acc: 0.7536

Epoch 00356: val_loss did not improve from 0.66956
Epoch 357/500
 - 3s - loss: 0.6327 - acc: 0.8016 - val_loss: 0.6785 - val_acc: 0.7823

Epoch 00357: val_loss did not improve from 0.66956
Epoch 358/500
 - 3s - loss: 0.6072 - acc: 0.8159 - val_loss: 0.6885 - val_acc: 0.7806

Epoch 00358: val_loss did not improve from 0.66956
Epoch 359/500
 - 3s - loss: 0.6229 - acc: 0.8082 - val_loss: 0.6938 - val_acc: 0.7653

Epoch 00359: val_loss did not improve from 0.66956
Epoch 360/500
 - 3s - loss: 0.6205 - acc: 0.8073 - val_loss: 0.6875 - val_acc: 0.7829

Epoch 00360: val_loss did not improve from 0.66956
Epoch 361/500
 - 3s - loss: 0.6166 - acc: 0.8129 - val_loss: 0.6966 - val_acc: 0.7735

Epoch 00361: val_loss did not improve from 0.66956
Epoch 362/500
 - 3s - loss: 0.6244 - acc: 0.8065 - val_loss: 0.6856 - val_acc: 0.7776

Epoch 00362: val_loss did not improve from 0.66956
Epoch 363/500
 - 3s - loss: 0.6166 - acc: 0.8098 - val_loss: 0.7199 - val_acc: 0.7512

Epoch 00363: val_loss did not improve from 0.66956
Epoch 364/500
 - 3s - loss: 0.6274 - acc: 0.8040 - val_loss: 0.6790 - val_acc: 0.7870

Epoch 00364: val_loss did not improve from 0.66956
Epoch 365/500
 - 3s - loss: 0.6091 - acc: 0.8160 - val_loss: 0.6744 - val_acc: 0.7788

Epoch 00365: val_loss did not improve from 0.66956
Epoch 366/500
 - 3s - loss: 0.6229 - acc: 0.8059 - val_loss: 0.6974 - val_acc: 0.7805

Epoch 00366: val_loss did not improve from 0.66956
Epoch 367/500
 - 3s - loss: 0.6139 - acc: 0.8123 - val_loss: 0.6802 - val_acc: 0.7837

Epoch 00367: val_loss did not improve from 0.66956
Epoch 368/500
 - 3s - loss: 0.6170 - acc: 0.8109 - val_loss: 0.6954 - val_acc: 0.7827

Epoch 00368: val_loss did not improve from 0.66956
Epoch 369/500
 - 3s - loss: 0.6224 - acc: 0.8082 - val_loss: 0.6846 - val_acc: 0.7704

Epoch 00369: val_loss did not improve from 0.66956
Epoch 370/500
 - 3s - loss: 0.6184 - acc: 0.8098 - val_loss: 0.6834 - val_acc: 0.7845

Epoch 00370: val_loss did not improve from 0.66956
Epoch 371/500
 - 3s - loss: 0.6148 - acc: 0.8127 - val_loss: 0.7027 - val_acc: 0.7627

Epoch 00371: val_loss did not improve from 0.66956
Epoch 372/500
 - 3s - loss: 0.6243 - acc: 0.8090 - val_loss: 0.6754 - val_acc: 0.7879

Epoch 00372: val_loss did not improve from 0.66956
Epoch 373/500
 - 3s - loss: 0.6046 - acc: 0.8178 - val_loss: 0.6973 - val_acc: 0.7770

Epoch 00373: val_loss did not improve from 0.66956
Epoch 374/500
 - 3s - loss: 0.6325 - acc: 0.8012 - val_loss: 0.6921 - val_acc: 0.7693

Epoch 00374: val_loss did not improve from 0.66956
Epoch 375/500
 - 3s - loss: 0.6140 - acc: 0.8131 - val_loss: 0.6838 - val_acc: 0.7821

Epoch 00375: val_loss did not improve from 0.66956
Epoch 376/500
 - 3s - loss: 0.6114 - acc: 0.8143 - val_loss: 0.6828 - val_acc: 0.7851

Epoch 00376: val_loss did not improve from 0.66956
Epoch 377/500
 - 3s - loss: 0.6132 - acc: 0.8131 - val_loss: 0.6777 - val_acc: 0.7825

Epoch 00377: val_loss did not improve from 0.66956
Epoch 378/500
 - 3s - loss: 0.6131 - acc: 0.8141 - val_loss: 0.6975 - val_acc: 0.7768

Epoch 00378: val_loss did not improve from 0.66956
Epoch 379/500
 - 3s - loss: 0.6225 - acc: 0.8066 - val_loss: 0.6951 - val_acc: 0.7701

Epoch 00379: val_loss did not improve from 0.66956
Epoch 380/500
 - 3s - loss: 0.6195 - acc: 0.8084 - val_loss: 0.6755 - val_acc: 0.7841

Epoch 00380: val_loss did not improve from 0.66956
Epoch 381/500
 - 3s - loss: 0.6061 - acc: 0.8181 - val_loss: 0.6804 - val_acc: 0.7770

Epoch 00381: val_loss did not improve from 0.66956
Epoch 382/500
 - 3s - loss: 0.6165 - acc: 0.8097 - val_loss: 0.7139 - val_acc: 0.7728

Epoch 00382: val_loss did not improve from 0.66956
Epoch 383/500
 - 3s - loss: 0.6263 - acc: 0.8045 - val_loss: 0.6773 - val_acc: 0.7839

Epoch 00383: val_loss did not improve from 0.66956
Epoch 384/500
 - 3s - loss: 0.6040 - acc: 0.8186 - val_loss: 0.7015 - val_acc: 0.7698

Epoch 00384: val_loss did not improve from 0.66956
Epoch 385/500
 - 3s - loss: 0.6329 - acc: 0.7998 - val_loss: 0.6737 - val_acc: 0.7894

Epoch 00385: val_loss did not improve from 0.66956
Epoch 386/500
 - 3s - loss: 0.6080 - acc: 0.8154 - val_loss: 0.6927 - val_acc: 0.7717

Epoch 00386: val_loss did not improve from 0.66956
Epoch 387/500
 - 3s - loss: 0.6238 - acc: 0.8060 - val_loss: 0.6859 - val_acc: 0.7833

Epoch 00387: val_loss did not improve from 0.66956
Epoch 388/500
 - 3s - loss: 0.6087 - acc: 0.8138 - val_loss: 0.6822 - val_acc: 0.7742

Epoch 00388: val_loss did not improve from 0.66956
Epoch 389/500
 - 3s - loss: 0.6163 - acc: 0.8089 - val_loss: 0.6913 - val_acc: 0.7811

Epoch 00389: val_loss did not improve from 0.66956
Epoch 390/500
 - 3s - loss: 0.6118 - acc: 0.8122 - val_loss: 0.6939 - val_acc: 0.7713

Epoch 00390: val_loss did not improve from 0.66956
Epoch 391/500
 - 3s - loss: 0.6272 - acc: 0.8045 - val_loss: 0.6903 - val_acc: 0.7816

Epoch 00391: val_loss did not improve from 0.66956
Epoch 392/500
 - 3s - loss: 0.6090 - acc: 0.8147 - val_loss: 0.6843 - val_acc: 0.7783

Epoch 00392: val_loss did not improve from 0.66956
Epoch 393/500
 - 3s - loss: 0.6049 - acc: 0.8159 - val_loss: 0.6827 - val_acc: 0.7807

Epoch 00393: val_loss did not improve from 0.66956
Epoch 394/500
 - 3s - loss: 0.6230 - acc: 0.8072 - val_loss: 0.6986 - val_acc: 0.7671

Epoch 00394: val_loss did not improve from 0.66956
Epoch 395/500
 - 3s - loss: 0.6164 - acc: 0.8116 - val_loss: 0.6831 - val_acc: 0.7869

Epoch 00395: val_loss did not improve from 0.66956
Epoch 396/500
 - 3s - loss: 0.6080 - acc: 0.8172 - val_loss: 0.6780 - val_acc: 0.7836

Epoch 00396: val_loss did not improve from 0.66956
Epoch 397/500
 - 3s - loss: 0.6033 - acc: 0.8174 - val_loss: 0.6927 - val_acc: 0.7654

Epoch 00397: val_loss did not improve from 0.66956
Epoch 398/500
 - 3s - loss: 0.6430 - acc: 0.7956 - val_loss: 0.6853 - val_acc: 0.7859

Epoch 00398: val_loss did not improve from 0.66956
Epoch 399/500
 - 3s - loss: 0.6064 - acc: 0.8174 - val_loss: 0.6876 - val_acc: 0.7723

Epoch 00399: val_loss did not improve from 0.66956
Epoch 400/500
 - 3s - loss: 0.6186 - acc: 0.8060 - val_loss: 0.6945 - val_acc: 0.7809

Epoch 00400: val_loss did not improve from 0.66956
Epoch 401/500
 - 3s - loss: 0.6148 - acc: 0.8127 - val_loss: 0.6870 - val_acc: 0.7762

Epoch 00401: val_loss did not improve from 0.66956
Epoch 402/500
 - 3s - loss: 0.6156 - acc: 0.8098 - val_loss: 0.7292 - val_acc: 0.7708

Epoch 00402: val_loss did not improve from 0.66956
Epoch 403/500
 - 3s - loss: 0.6235 - acc: 0.8077 - val_loss: 0.6800 - val_acc: 0.7790

Epoch 00403: val_loss did not improve from 0.66956
Epoch 404/500
 - 3s - loss: 0.6034 - acc: 0.8200 - val_loss: 0.6870 - val_acc: 0.7801

Epoch 00404: val_loss did not improve from 0.66956
Epoch 405/500
 - 3s - loss: 0.6031 - acc: 0.8191 - val_loss: 0.6777 - val_acc: 0.7821

Epoch 00405: val_loss did not improve from 0.66956
Epoch 406/500
 - 3s - loss: 0.6048 - acc: 0.8169 - val_loss: 0.7706 - val_acc: 0.7231

Epoch 00406: val_loss did not improve from 0.66956
Epoch 407/500
 - 3s - loss: 0.6424 - acc: 0.7955 - val_loss: 0.6808 - val_acc: 0.7852

Epoch 00407: val_loss did not improve from 0.66956
Epoch 408/500
 - 3s - loss: 0.6002 - acc: 0.8205 - val_loss: 0.6868 - val_acc: 0.7815

Epoch 00408: val_loss did not improve from 0.66956
Epoch 409/500
 - 3s - loss: 0.6067 - acc: 0.8182 - val_loss: 0.7265 - val_acc: 0.7481

Epoch 00409: val_loss did not improve from 0.66956
Epoch 410/500
 - 3s - loss: 0.6344 - acc: 0.8003 - val_loss: 0.6797 - val_acc: 0.7799

Epoch 00410: val_loss did not improve from 0.66956
Epoch 411/500
 - 3s - loss: 0.6025 - acc: 0.8187 - val_loss: 0.7259 - val_acc: 0.7490

Epoch 00411: val_loss did not improve from 0.66956
Epoch 412/500
 - 3s - loss: 0.6306 - acc: 0.8006 - val_loss: 0.6872 - val_acc: 0.7815

Epoch 00412: val_loss did not improve from 0.66956
Epoch 413/500
 - 3s - loss: 0.6048 - acc: 0.8174 - val_loss: 0.6899 - val_acc: 0.7802

Epoch 00413: val_loss did not improve from 0.66956
Epoch 414/500
 - 3s - loss: 0.6163 - acc: 0.8097 - val_loss: 0.6870 - val_acc: 0.7822

Epoch 00414: val_loss did not improve from 0.66956
Epoch 415/500
 - 3s - loss: 0.6119 - acc: 0.8120 - val_loss: 0.6676 - val_acc: 0.7872

Epoch 00415: val_loss improved from 0.66956 to 0.66761, saving model to weights-improvement-best-model.hdf5
Epoch 416/500
 - 3s - loss: 0.6052 - acc: 0.8171 - val_loss: 0.6906 - val_acc: 0.7774

Epoch 00416: val_loss did not improve from 0.66761
Epoch 417/500
 - 3s - loss: 0.6135 - acc: 0.8133 - val_loss: 0.7054 - val_acc: 0.7653

Epoch 00417: val_loss did not improve from 0.66761
Epoch 418/500
 - 3s - loss: 0.6190 - acc: 0.8096 - val_loss: 0.6728 - val_acc: 0.7849

Epoch 00418: val_loss did not improve from 0.66761
Epoch 419/500
 - 3s - loss: 0.6028 - acc: 0.8203 - val_loss: 0.7077 - val_acc: 0.7666

Epoch 00419: val_loss did not improve from 0.66761
Epoch 420/500
 - 3s - loss: 0.6248 - acc: 0.8042 - val_loss: 0.7219 - val_acc: 0.7775

Epoch 00420: val_loss did not improve from 0.66761
Epoch 421/500
 - 3s - loss: 0.6206 - acc: 0.8118 - val_loss: 0.6797 - val_acc: 0.7825

Epoch 00421: val_loss did not improve from 0.66761
Epoch 422/500
 - 3s - loss: 0.6019 - acc: 0.8189 - val_loss: 0.6961 - val_acc: 0.7827

Epoch 00422: val_loss did not improve from 0.66761
Epoch 423/500
 - 3s - loss: 0.6197 - acc: 0.8097 - val_loss: 0.7074 - val_acc: 0.7636

Epoch 00423: val_loss did not improve from 0.66761
Epoch 424/500
 - 3s - loss: 0.6163 - acc: 0.8114 - val_loss: 0.6816 - val_acc: 0.7768

Epoch 00424: val_loss did not improve from 0.66761
Epoch 425/500
 - 3s - loss: 0.6037 - acc: 0.8181 - val_loss: 0.6910 - val_acc: 0.7820

Epoch 00425: val_loss did not improve from 0.66761
Epoch 426/500
 - 3s - loss: 0.6169 - acc: 0.8111 - val_loss: 0.6842 - val_acc: 0.7723

Epoch 00426: val_loss did not improve from 0.66761
Epoch 427/500
 - 3s - loss: 0.6109 - acc: 0.8139 - val_loss: 0.6749 - val_acc: 0.7792

Epoch 00427: val_loss did not improve from 0.66761
Epoch 428/500
 - 3s - loss: 0.6024 - acc: 0.8217 - val_loss: 0.6964 - val_acc: 0.7743

Epoch 00428: val_loss did not improve from 0.66761
Epoch 429/500
 - 3s - loss: 0.6190 - acc: 0.8088 - val_loss: 0.6916 - val_acc: 0.7692

Epoch 00429: val_loss did not improve from 0.66761
Epoch 430/500
 - 3s - loss: 0.6116 - acc: 0.8139 - val_loss: 0.6800 - val_acc: 0.7852

Epoch 00430: val_loss did not improve from 0.66761
Epoch 431/500
 - 3s - loss: 0.6043 - acc: 0.8171 - val_loss: 0.7123 - val_acc: 0.7513

Epoch 00431: val_loss did not improve from 0.66761
Epoch 432/500
 - 3s - loss: 0.6180 - acc: 0.8081 - val_loss: 0.6829 - val_acc: 0.7790

Epoch 00432: val_loss did not improve from 0.66761
Epoch 433/500
 - 3s - loss: 0.6013 - acc: 0.8210 - val_loss: 0.6839 - val_acc: 0.7852

Epoch 00433: val_loss did not improve from 0.66761
Epoch 434/500
 - 3s - loss: 0.6114 - acc: 0.8132 - val_loss: 0.7026 - val_acc: 0.7693

Epoch 00434: val_loss did not improve from 0.66761
Epoch 435/500
 - 3s - loss: 0.6097 - acc: 0.8133 - val_loss: 0.6997 - val_acc: 0.7800

Epoch 00435: val_loss did not improve from 0.66761
Epoch 436/500
 - 3s - loss: 0.6162 - acc: 0.8111 - val_loss: 0.7092 - val_acc: 0.7681

Epoch 00436: val_loss did not improve from 0.66761
Epoch 437/500
 - 3s - loss: 0.6096 - acc: 0.8133 - val_loss: 0.6809 - val_acc: 0.7842

Epoch 00437: val_loss did not improve from 0.66761
Epoch 438/500
 - 3s - loss: 0.6027 - acc: 0.8174 - val_loss: 0.6960 - val_acc: 0.7666

Epoch 00438: val_loss did not improve from 0.66761
Epoch 439/500
 - 3s - loss: 0.6122 - acc: 0.8108 - val_loss: 0.6912 - val_acc: 0.7704

Epoch 00439: val_loss did not improve from 0.66761
Epoch 440/500
 - 3s - loss: 0.6073 - acc: 0.8178 - val_loss: 0.6849 - val_acc: 0.7848

Epoch 00440: val_loss did not improve from 0.66761
Epoch 441/500
 - 3s - loss: 0.6105 - acc: 0.8125 - val_loss: 0.7076 - val_acc: 0.7648

Epoch 00441: val_loss did not improve from 0.66761
Epoch 442/500
 - 3s - loss: 0.6132 - acc: 0.8105 - val_loss: 0.6832 - val_acc: 0.7847

Epoch 00442: val_loss did not improve from 0.66761
Epoch 443/500
 - 3s - loss: 0.5998 - acc: 0.8207 - val_loss: 0.7214 - val_acc: 0.7524

Epoch 00443: val_loss did not improve from 0.66761
Epoch 444/500
 - 3s - loss: 0.6242 - acc: 0.8046 - val_loss: 0.6968 - val_acc: 0.7763

Epoch 00444: val_loss did not improve from 0.66761
Epoch 445/500
 - 3s - loss: 0.6127 - acc: 0.8138 - val_loss: 0.7058 - val_acc: 0.7775

Epoch 00445: val_loss did not improve from 0.66761
Epoch 446/500
 - 3s - loss: 0.6074 - acc: 0.8164 - val_loss: 0.6861 - val_acc: 0.7738

Epoch 00446: val_loss did not improve from 0.66761
Epoch 447/500
 - 3s - loss: 0.6011 - acc: 0.8219 - val_loss: 0.6864 - val_acc: 0.7830

Epoch 00447: val_loss did not improve from 0.66761
Epoch 448/500
 - 3s - loss: 0.6039 - acc: 0.8171 - val_loss: 0.6899 - val_acc: 0.7759

Epoch 00448: val_loss did not improve from 0.66761
Epoch 449/500
 - 3s - loss: 0.6087 - acc: 0.8153 - val_loss: 0.6948 - val_acc: 0.7800

Epoch 00449: val_loss did not improve from 0.66761
Epoch 450/500
 - 3s - loss: 0.6058 - acc: 0.8158 - val_loss: 0.6865 - val_acc: 0.7755

Epoch 00450: val_loss did not improve from 0.66761
Epoch 451/500
 - 3s - loss: 0.6015 - acc: 0.8190 - val_loss: 0.6933 - val_acc: 0.7814

Epoch 00451: val_loss did not improve from 0.66761
Epoch 452/500
 - 3s - loss: 0.6162 - acc: 0.8122 - val_loss: 0.6995 - val_acc: 0.7672

Epoch 00452: val_loss did not improve from 0.66761
Epoch 453/500
 - 3s - loss: 0.6134 - acc: 0.8145 - val_loss: 0.6786 - val_acc: 0.7795

Epoch 00453: val_loss did not improve from 0.66761
Epoch 454/500
 - 4s - loss: 0.5942 - acc: 0.8243 - val_loss: 0.6872 - val_acc: 0.7845

Epoch 00454: val_loss did not improve from 0.66761
Epoch 455/500
 - 4s - loss: 0.6156 - acc: 0.8126 - val_loss: 0.7103 - val_acc: 0.7786

Epoch 00455: val_loss did not improve from 0.66761
Epoch 456/500
 - 4s - loss: 0.6165 - acc: 0.8103 - val_loss: 0.6899 - val_acc: 0.7694

Epoch 00456: val_loss did not improve from 0.66761
Epoch 457/500
 - 4s - loss: 0.6024 - acc: 0.8182 - val_loss: 0.6872 - val_acc: 0.7815

Epoch 00457: val_loss did not improve from 0.66761
Epoch 458/500
 - 4s - loss: 0.6082 - acc: 0.8163 - val_loss: 0.7075 - val_acc: 0.7644

Epoch 00458: val_loss did not improve from 0.66761
Epoch 459/500
 - 3s - loss: 0.6153 - acc: 0.8091 - val_loss: 0.6998 - val_acc: 0.7818

Epoch 00459: val_loss did not improve from 0.66761
Epoch 460/500
 - 3s - loss: 0.6000 - acc: 0.8214 - val_loss: 0.6965 - val_acc: 0.7636

Epoch 00460: val_loss did not improve from 0.66761
Epoch 461/500
 - 3s - loss: 0.6201 - acc: 0.8071 - val_loss: 0.7067 - val_acc: 0.7867

Epoch 00461: val_loss did not improve from 0.66761
Epoch 462/500
 - 3s - loss: 0.6019 - acc: 0.8185 - val_loss: 0.7207 - val_acc: 0.7739

Epoch 00462: val_loss did not improve from 0.66761
Epoch 463/500
 - 3s - loss: 0.6146 - acc: 0.8113 - val_loss: 0.7035 - val_acc: 0.7811

Epoch 00463: val_loss did not improve from 0.66761
Epoch 464/500
 - 3s - loss: 0.6071 - acc: 0.8155 - val_loss: 0.7011 - val_acc: 0.7678

Epoch 00464: val_loss did not improve from 0.66761
Epoch 465/500
 - 3s - loss: 0.6172 - acc: 0.8087 - val_loss: 0.6810 - val_acc: 0.7828

Epoch 00465: val_loss did not improve from 0.66761
Epoch 466/500
 - 3s - loss: 0.5972 - acc: 0.8215 - val_loss: 0.6888 - val_acc: 0.7730

Epoch 00466: val_loss did not improve from 0.66761
Epoch 467/500
 - 3s - loss: 0.6108 - acc: 0.8107 - val_loss: 0.6896 - val_acc: 0.7798

Epoch 00467: val_loss did not improve from 0.66761
Epoch 468/500
 - 3s - loss: 0.5997 - acc: 0.8195 - val_loss: 0.7396 - val_acc: 0.7479

Epoch 00468: val_loss did not improve from 0.66761
Epoch 469/500
 - 3s - loss: 0.6247 - acc: 0.8044 - val_loss: 0.6798 - val_acc: 0.7826

Epoch 00469: val_loss did not improve from 0.66761
Epoch 470/500
 - 3s - loss: 0.5963 - acc: 0.8209 - val_loss: 0.6866 - val_acc: 0.7768

Epoch 00470: val_loss did not improve from 0.66761
Epoch 471/500
 - 3s - loss: 0.6041 - acc: 0.8186 - val_loss: 0.7183 - val_acc: 0.7756

Epoch 00471: val_loss did not improve from 0.66761
Epoch 472/500
 - 3s - loss: 0.6138 - acc: 0.8122 - val_loss: 0.6831 - val_acc: 0.7741

Epoch 00472: val_loss did not improve from 0.66761
Epoch 473/500
 - 3s - loss: 0.5992 - acc: 0.8213 - val_loss: 0.7156 - val_acc: 0.7745

Epoch 00473: val_loss did not improve from 0.66761
Epoch 474/500
 - 3s - loss: 0.6215 - acc: 0.8081 - val_loss: 0.7073 - val_acc: 0.7764

Epoch 00474: val_loss did not improve from 0.66761
Epoch 475/500
 - 3s - loss: 0.6057 - acc: 0.8185 - val_loss: 0.6968 - val_acc: 0.7795

Epoch 00475: val_loss did not improve from 0.66761
Epoch 476/500
 - 3s - loss: 0.5988 - acc: 0.8199 - val_loss: 0.6983 - val_acc: 0.7779

Epoch 00476: val_loss did not improve from 0.66761
Epoch 477/500
 - 3s - loss: 0.5973 - acc: 0.8208 - val_loss: 0.6854 - val_acc: 0.7783

Epoch 00477: val_loss did not improve from 0.66761
Epoch 478/500
 - 3s - loss: 0.6129 - acc: 0.8105 - val_loss: 0.7018 - val_acc: 0.7629

Epoch 00478: val_loss did not improve from 0.66761
Epoch 479/500
 - 3s - loss: 0.6070 - acc: 0.8166 - val_loss: 0.6746 - val_acc: 0.7796

Epoch 00479: val_loss did not improve from 0.66761
Epoch 480/500
 - 3s - loss: 0.5924 - acc: 0.8253 - val_loss: 0.7259 - val_acc: 0.7592

Epoch 00480: val_loss did not improve from 0.66761
Epoch 481/500
 - 3s - loss: 0.6275 - acc: 0.8022 - val_loss: 0.6822 - val_acc: 0.7780

Epoch 00481: val_loss did not improve from 0.66761
Epoch 482/500
 - 3s - loss: 0.5975 - acc: 0.8194 - val_loss: 0.6873 - val_acc: 0.7817

Epoch 00482: val_loss did not improve from 0.66761
Epoch 483/500
 - 3s - loss: 0.6011 - acc: 0.8199 - val_loss: 0.6959 - val_acc: 0.7696

Epoch 00483: val_loss did not improve from 0.66761
Epoch 484/500
 - 3s - loss: 0.6074 - acc: 0.8169 - val_loss: 0.7176 - val_acc: 0.7721

Epoch 00484: val_loss did not improve from 0.66761
Epoch 485/500
 - 3s - loss: 0.6173 - acc: 0.8103 - val_loss: 0.6835 - val_acc: 0.7828

Epoch 00485: val_loss did not improve from 0.66761
Epoch 486/500
 - 3s - loss: 0.5919 - acc: 0.8239 - val_loss: 0.7227 - val_acc: 0.7484

Epoch 00486: val_loss did not improve from 0.66761
Epoch 487/500
 - 3s - loss: 0.6256 - acc: 0.8012 - val_loss: 0.6888 - val_acc: 0.7819

Epoch 00487: val_loss did not improve from 0.66761
Epoch 488/500
 - 3s - loss: 0.6009 - acc: 0.8198 - val_loss: 0.6865 - val_acc: 0.7831

Epoch 00488: val_loss did not improve from 0.66761
Epoch 489/500
 - 3s - loss: 0.5929 - acc: 0.8218 - val_loss: 0.6826 - val_acc: 0.7771

Epoch 00489: val_loss did not improve from 0.66761
Epoch 490/500
 - 3s - loss: 0.6015 - acc: 0.8201 - val_loss: 0.7042 - val_acc: 0.7746

Epoch 00490: val_loss did not improve from 0.66761
Epoch 491/500
 - 3s - loss: 0.6278 - acc: 0.8021 - val_loss: 0.6886 - val_acc: 0.7717

Epoch 00491: val_loss did not improve from 0.66761
Epoch 492/500
 - 3s - loss: 0.5970 - acc: 0.8213 - val_loss: 0.6987 - val_acc: 0.7821

Epoch 00492: val_loss did not improve from 0.66761
Epoch 493/500
 - 3s - loss: 0.6124 - acc: 0.8130 - val_loss: 0.7058 - val_acc: 0.7672

Epoch 00493: val_loss did not improve from 0.66761
Epoch 494/500
 - 3s - loss: 0.6058 - acc: 0.8143 - val_loss: 0.6868 - val_acc: 0.7867

Epoch 00494: val_loss did not improve from 0.66761
Epoch 495/500
 - 3s - loss: 0.5987 - acc: 0.8198 - val_loss: 0.7000 - val_acc: 0.7734

Epoch 00495: val_loss did not improve from 0.66761
Epoch 496/500
 - 3s - loss: 0.6132 - acc: 0.8113 - val_loss: 0.7104 - val_acc: 0.7779

Epoch 00496: val_loss did not improve from 0.66761
Epoch 497/500
 - 3s - loss: 0.6042 - acc: 0.8166 - val_loss: 0.6733 - val_acc: 0.7845

Epoch 00497: val_loss did not improve from 0.66761
Epoch 498/500
 - 3s - loss: 0.5922 - acc: 0.8248 - val_loss: 0.6995 - val_acc: 0.7842

Epoch 00498: val_loss did not improve from 0.66761
Epoch 499/500
 - 3s - loss: 0.6194 - acc: 0.8080 - val_loss: 0.6885 - val_acc: 0.7747

Epoch 00499: val_loss did not improve from 0.66761
Epoch 500/500
 - 3s - loss: 0.6000 - acc: 0.8198 - val_loss: 0.7014 - val_acc: 0.7760

Epoch 00500: val_loss did not improve from 0.66761
In [347]:
# trying another architechture : model_1
model_1 = Sequential()
model_1.add(Dense(1024, kernel_regularizer=regularizers.l2(.001),input_dim=X_train.shape[1]))
model_1.add(Activation('relu'))
model_1.add(Dropout(0.2))
model_1.add(Dense(512,kernel_regularizer=regularizers.l2(.001)))
model_1.add(Activation('relu'))
model_1.add(Dropout(0.2))
model_1.add(Dense(512,kernel_regularizer=regularizers.l2(.001)))
model_1.add(Activation('relu'))
model_1.add(Dropout(0.2))
model_1.add(Dense(128,kernel_regularizer=regularizers.l1_l2(.001)))
model_1.add(Activation('relu'))
model_1.add(Dropout(0.3))
model_1.add(Dense(32, kernel_regularizer=regularizers.l2(.001)))
model_1.add(Activation('relu'))
model_1.add(Dense(3, activation = 'softmax'))

model_1.summary()
_________________________________________________________________
Layer (type)                 Output Shape              Param #   
=================================================================
dense_47 (Dense)             (None, 1024)              140288    
_________________________________________________________________
activation_37 (Activation)   (None, 1024)              0         
_________________________________________________________________
dropout_28 (Dropout)         (None, 1024)              0         
_________________________________________________________________
dense_48 (Dense)             (None, 512)               524800    
_________________________________________________________________
activation_38 (Activation)   (None, 512)               0         
_________________________________________________________________
dropout_29 (Dropout)         (None, 512)               0         
_________________________________________________________________
dense_49 (Dense)             (None, 512)               262656    
_________________________________________________________________
activation_39 (Activation)   (None, 512)               0         
_________________________________________________________________
dropout_30 (Dropout)         (None, 512)               0         
_________________________________________________________________
dense_50 (Dense)             (None, 128)               65664     
_________________________________________________________________
activation_40 (Activation)   (None, 128)               0         
_________________________________________________________________
dropout_31 (Dropout)         (None, 128)               0         
_________________________________________________________________
dense_51 (Dense)             (None, 32)                4128      
_________________________________________________________________
activation_41 (Activation)   (None, 32)                0         
_________________________________________________________________
dense_52 (Dense)             (None, 3)                 99        
=================================================================
Total params: 997,635
Trainable params: 997,635
Non-trainable params: 0
_________________________________________________________________
In [349]:
# compile the model_1
model_1.compile(optimizer='rmsprop', loss='categorical_crossentropy', metrics=['accuracy'])
In [350]:
# checkpoint
filepath="weights-improvement-best-model_1.hdf5"
checkpoint = ModelCheckpoint(filepath, monitor='val_loss', verbose=1, save_best_only=True, mode='min')
callbacks_list_1 = [checkpoint]

# training the model

start_time = time()
model_1.fit(X_train,y_train,batch_size= 1000, epochs= 250,
          validation_data=(X_valid,y_valid),
          #validation_split = 0.2,
         verbose =2,callbacks = callbacks_list_1)
end_time = time()
Train on 40392 samples, validate on 10098 samples
Epoch 1/250
 - 4s - loss: 4.4220 - acc: 0.6810 - val_loss: 2.4390 - val_acc: 0.7485

Epoch 00001: val_loss improved from inf to 2.43905, saving model to weights-improvement-best-model_1.hdf5
Epoch 2/250
 - 4s - loss: 1.6267 - acc: 0.7389 - val_loss: 1.0277 - val_acc: 0.7550

Epoch 00002: val_loss improved from 2.43905 to 1.02766, saving model to weights-improvement-best-model_1.hdf5
Epoch 3/250
 - 4s - loss: 0.9020 - acc: 0.7473 - val_loss: 0.8926 - val_acc: 0.7160

Epoch 00003: val_loss improved from 1.02766 to 0.89259, saving model to weights-improvement-best-model_1.hdf5
Epoch 4/250
 - 4s - loss: 0.8043 - acc: 0.7495 - val_loss: 0.7903 - val_acc: 0.7440

Epoch 00004: val_loss improved from 0.89259 to 0.79030, saving model to weights-improvement-best-model_1.hdf5
Epoch 5/250
 - 4s - loss: 0.7647 - acc: 0.7537 - val_loss: 0.8050 - val_acc: 0.7349

Epoch 00005: val_loss did not improve from 0.79030
Epoch 6/250
 - 4s - loss: 0.7497 - acc: 0.7524 - val_loss: 0.7242 - val_acc: 0.7619

Epoch 00006: val_loss improved from 0.79030 to 0.72423, saving model to weights-improvement-best-model_1.hdf5
Epoch 7/250
 - 4s - loss: 0.7340 - acc: 0.7573 - val_loss: 0.7066 - val_acc: 0.7680

Epoch 00007: val_loss improved from 0.72423 to 0.70662, saving model to weights-improvement-best-model_1.hdf5
Epoch 8/250
 - 4s - loss: 0.7204 - acc: 0.7596 - val_loss: 0.7035 - val_acc: 0.7660

Epoch 00008: val_loss improved from 0.70662 to 0.70354, saving model to weights-improvement-best-model_1.hdf5
Epoch 9/250
 - 4s - loss: 0.7163 - acc: 0.7592 - val_loss: 0.7149 - val_acc: 0.7532

Epoch 00009: val_loss did not improve from 0.70354
Epoch 10/250
 - 4s - loss: 0.7119 - acc: 0.7601 - val_loss: 0.7216 - val_acc: 0.7528

Epoch 00010: val_loss did not improve from 0.70354
Epoch 11/250
 - 4s - loss: 0.7058 - acc: 0.7603 - val_loss: 0.6915 - val_acc: 0.7682

Epoch 00011: val_loss improved from 0.70354 to 0.69147, saving model to weights-improvement-best-model_1.hdf5
Epoch 12/250
 - 4s - loss: 0.6997 - acc: 0.7640 - val_loss: 0.7199 - val_acc: 0.7530

Epoch 00012: val_loss did not improve from 0.69147
Epoch 13/250
 - 4s - loss: 0.6944 - acc: 0.7656 - val_loss: 0.7046 - val_acc: 0.7653

Epoch 00013: val_loss did not improve from 0.69147
Epoch 14/250
 - 4s - loss: 0.6904 - acc: 0.7655 - val_loss: 0.7193 - val_acc: 0.7454

Epoch 00014: val_loss did not improve from 0.69147
Epoch 15/250
 - 4s - loss: 0.6861 - acc: 0.7719 - val_loss: 0.6918 - val_acc: 0.7716

Epoch 00015: val_loss did not improve from 0.69147
Epoch 16/250
 - 4s - loss: 0.6835 - acc: 0.7733 - val_loss: 0.6876 - val_acc: 0.7649

Epoch 00016: val_loss improved from 0.69147 to 0.68756, saving model to weights-improvement-best-model_1.hdf5
Epoch 17/250
 - 4s - loss: 0.6787 - acc: 0.7754 - val_loss: 0.6760 - val_acc: 0.7778

Epoch 00017: val_loss improved from 0.68756 to 0.67596, saving model to weights-improvement-best-model_1.hdf5
Epoch 18/250
 - 4s - loss: 0.6775 - acc: 0.7763 - val_loss: 0.6823 - val_acc: 0.7703

Epoch 00018: val_loss did not improve from 0.67596
Epoch 19/250
 - 4s - loss: 0.6730 - acc: 0.7779 - val_loss: 0.6894 - val_acc: 0.7732

Epoch 00019: val_loss did not improve from 0.67596
Epoch 20/250
 - 4s - loss: 0.6701 - acc: 0.7798 - val_loss: 0.6727 - val_acc: 0.7801

Epoch 00020: val_loss improved from 0.67596 to 0.67267, saving model to weights-improvement-best-model_1.hdf5
Epoch 21/250
 - 4s - loss: 0.6681 - acc: 0.7823 - val_loss: 0.6764 - val_acc: 0.7726

Epoch 00021: val_loss did not improve from 0.67267
Epoch 22/250
 - 4s - loss: 0.6686 - acc: 0.7827 - val_loss: 0.6720 - val_acc: 0.7819

Epoch 00022: val_loss improved from 0.67267 to 0.67204, saving model to weights-improvement-best-model_1.hdf5
Epoch 23/250
 - 4s - loss: 0.6644 - acc: 0.7847 - val_loss: 0.6707 - val_acc: 0.7812

Epoch 00023: val_loss improved from 0.67204 to 0.67070, saving model to weights-improvement-best-model_1.hdf5
Epoch 24/250
 - 4s - loss: 0.6613 - acc: 0.7848 - val_loss: 0.6812 - val_acc: 0.7788

Epoch 00024: val_loss did not improve from 0.67070
Epoch 25/250
 - 4s - loss: 0.6625 - acc: 0.7838 - val_loss: 0.6917 - val_acc: 0.7753

Epoch 00025: val_loss did not improve from 0.67070
Epoch 26/250
 - 4s - loss: 0.6582 - acc: 0.7865 - val_loss: 0.6667 - val_acc: 0.7778

Epoch 00026: val_loss improved from 0.67070 to 0.66672, saving model to weights-improvement-best-model_1.hdf5
Epoch 27/250
 - 4s - loss: 0.6545 - acc: 0.7874 - val_loss: 0.6755 - val_acc: 0.7765

Epoch 00027: val_loss did not improve from 0.66672
Epoch 28/250
 - 4s - loss: 0.6552 - acc: 0.7889 - val_loss: 0.7000 - val_acc: 0.7702

Epoch 00028: val_loss did not improve from 0.66672
Epoch 29/250
 - 4s - loss: 0.6529 - acc: 0.7875 - val_loss: 0.6706 - val_acc: 0.7801

Epoch 00029: val_loss did not improve from 0.66672
Epoch 30/250
 - 4s - loss: 0.6499 - acc: 0.7905 - val_loss: 0.6612 - val_acc: 0.7839

Epoch 00030: val_loss improved from 0.66672 to 0.66121, saving model to weights-improvement-best-model_1.hdf5
Epoch 31/250
 - 4s - loss: 0.6514 - acc: 0.7881 - val_loss: 0.6723 - val_acc: 0.7837

Epoch 00031: val_loss did not improve from 0.66121
Epoch 32/250
 - 4s - loss: 0.6481 - acc: 0.7932 - val_loss: 0.6839 - val_acc: 0.7659

Epoch 00032: val_loss did not improve from 0.66121
Epoch 33/250
 - 4s - loss: 0.6477 - acc: 0.7914 - val_loss: 0.6653 - val_acc: 0.7826

Epoch 00033: val_loss did not improve from 0.66121
Epoch 34/250
 - 4s - loss: 0.6457 - acc: 0.7929 - val_loss: 0.6807 - val_acc: 0.7797

Epoch 00034: val_loss did not improve from 0.66121
Epoch 35/250
 - 4s - loss: 0.6465 - acc: 0.7913 - val_loss: 0.6593 - val_acc: 0.7867

Epoch 00035: val_loss improved from 0.66121 to 0.65928, saving model to weights-improvement-best-model_1.hdf5
Epoch 36/250
 - 4s - loss: 0.6422 - acc: 0.7934 - val_loss: 0.6988 - val_acc: 0.7727

Epoch 00036: val_loss did not improve from 0.65928
Epoch 37/250
 - 4s - loss: 0.6448 - acc: 0.7930 - val_loss: 0.6756 - val_acc: 0.7796

Epoch 00037: val_loss did not improve from 0.65928
Epoch 38/250
 - 4s - loss: 0.6415 - acc: 0.7942 - val_loss: 0.6672 - val_acc: 0.7787

Epoch 00038: val_loss did not improve from 0.65928
Epoch 39/250
 - 4s - loss: 0.6387 - acc: 0.7934 - val_loss: 0.6868 - val_acc: 0.7690

Epoch 00039: val_loss did not improve from 0.65928
Epoch 40/250
 - 4s - loss: 0.6400 - acc: 0.7945 - val_loss: 0.6667 - val_acc: 0.7789

Epoch 00040: val_loss did not improve from 0.65928
Epoch 41/250
 - 4s - loss: 0.6366 - acc: 0.7965 - val_loss: 0.6602 - val_acc: 0.7866

Epoch 00041: val_loss did not improve from 0.65928
Epoch 42/250
 - 4s - loss: 0.6354 - acc: 0.7981 - val_loss: 0.6775 - val_acc: 0.7835

Epoch 00042: val_loss did not improve from 0.65928
Epoch 43/250
 - 4s - loss: 0.6345 - acc: 0.7964 - val_loss: 0.6844 - val_acc: 0.7686

Epoch 00043: val_loss did not improve from 0.65928
Epoch 44/250
 - 4s - loss: 0.6355 - acc: 0.7964 - val_loss: 0.6804 - val_acc: 0.7701

Epoch 00044: val_loss did not improve from 0.65928
Epoch 45/250
 - 4s - loss: 0.6312 - acc: 0.7987 - val_loss: 0.6609 - val_acc: 0.7834

Epoch 00045: val_loss did not improve from 0.65928
Epoch 46/250
 - 5s - loss: 0.6325 - acc: 0.7971 - val_loss: 0.6741 - val_acc: 0.7858

Epoch 00046: val_loss did not improve from 0.65928
Epoch 47/250
 - 4s - loss: 0.6331 - acc: 0.7991 - val_loss: 0.6612 - val_acc: 0.7888

Epoch 00047: val_loss did not improve from 0.65928
Epoch 48/250
 - 4s - loss: 0.6331 - acc: 0.7990 - val_loss: 0.6633 - val_acc: 0.7856

Epoch 00048: val_loss did not improve from 0.65928
Epoch 49/250
 - 4s - loss: 0.6287 - acc: 0.7995 - val_loss: 0.6672 - val_acc: 0.7806

Epoch 00049: val_loss did not improve from 0.65928
Epoch 50/250
 - 4s - loss: 0.6242 - acc: 0.8027 - val_loss: 0.6813 - val_acc: 0.7710

Epoch 00050: val_loss did not improve from 0.65928
Epoch 51/250
 - 4s - loss: 0.6269 - acc: 0.8036 - val_loss: 0.7072 - val_acc: 0.7484

Epoch 00051: val_loss did not improve from 0.65928
Epoch 52/250
 - 4s - loss: 0.6251 - acc: 0.8044 - val_loss: 0.7071 - val_acc: 0.7747

Epoch 00052: val_loss did not improve from 0.65928
Epoch 53/250
 - 4s - loss: 0.6260 - acc: 0.8020 - val_loss: 0.6732 - val_acc: 0.7838

Epoch 00053: val_loss did not improve from 0.65928
Epoch 54/250
 - 4s - loss: 0.6245 - acc: 0.8024 - val_loss: 0.6703 - val_acc: 0.7859

Epoch 00054: val_loss did not improve from 0.65928
Epoch 55/250
 - 4s - loss: 0.6253 - acc: 0.8024 - val_loss: 0.6692 - val_acc: 0.7774

Epoch 00055: val_loss did not improve from 0.65928
Epoch 56/250
 - 4s - loss: 0.6245 - acc: 0.8032 - val_loss: 0.7009 - val_acc: 0.7569

Epoch 00056: val_loss did not improve from 0.65928
Epoch 57/250
 - 4s - loss: 0.6235 - acc: 0.8030 - val_loss: 0.6594 - val_acc: 0.7863

Epoch 00057: val_loss did not improve from 0.65928
Epoch 58/250
 - 4s - loss: 0.6213 - acc: 0.8037 - val_loss: 0.6613 - val_acc: 0.7837

Epoch 00058: val_loss did not improve from 0.65928
Epoch 59/250
 - 4s - loss: 0.6247 - acc: 0.8025 - val_loss: 0.6723 - val_acc: 0.7878

Epoch 00059: val_loss did not improve from 0.65928
Epoch 60/250
 - 4s - loss: 0.6228 - acc: 0.8022 - val_loss: 0.6675 - val_acc: 0.7903

Epoch 00060: val_loss did not improve from 0.65928
Epoch 61/250
 - 4s - loss: 0.6205 - acc: 0.8036 - val_loss: 0.6756 - val_acc: 0.7701

Epoch 00061: val_loss did not improve from 0.65928
Epoch 62/250
 - 4s - loss: 0.6152 - acc: 0.8075 - val_loss: 0.6689 - val_acc: 0.7768

Epoch 00062: val_loss did not improve from 0.65928
Epoch 63/250
 - 4s - loss: 0.6193 - acc: 0.8055 - val_loss: 0.6674 - val_acc: 0.7760

Epoch 00063: val_loss did not improve from 0.65928
Epoch 64/250
 - 4s - loss: 0.6187 - acc: 0.8050 - val_loss: 0.6621 - val_acc: 0.7806

Epoch 00064: val_loss did not improve from 0.65928
Epoch 65/250
 - 4s - loss: 0.6184 - acc: 0.8043 - val_loss: 0.6570 - val_acc: 0.7879

Epoch 00065: val_loss improved from 0.65928 to 0.65702, saving model to weights-improvement-best-model_1.hdf5
Epoch 66/250
 - 4s - loss: 0.6150 - acc: 0.8072 - val_loss: 0.6606 - val_acc: 0.7867

Epoch 00066: val_loss did not improve from 0.65702
Epoch 67/250
 - 4s - loss: 0.6117 - acc: 0.8092 - val_loss: 0.6728 - val_acc: 0.7798

Epoch 00067: val_loss did not improve from 0.65702
Epoch 68/250
 - 4s - loss: 0.6134 - acc: 0.8088 - val_loss: 0.7106 - val_acc: 0.7780

Epoch 00068: val_loss did not improve from 0.65702
Epoch 69/250
 - 4s - loss: 0.6176 - acc: 0.8064 - val_loss: 0.6668 - val_acc: 0.7881

Epoch 00069: val_loss did not improve from 0.65702
Epoch 70/250
 - 4s - loss: 0.6127 - acc: 0.8102 - val_loss: 0.6873 - val_acc: 0.7808

Epoch 00070: val_loss did not improve from 0.65702
Epoch 71/250
 - 4s - loss: 0.6143 - acc: 0.8091 - val_loss: 0.6600 - val_acc: 0.7868

Epoch 00071: val_loss did not improve from 0.65702
Epoch 72/250
 - 4s - loss: 0.6143 - acc: 0.8069 - val_loss: 0.6848 - val_acc: 0.7644

Epoch 00072: val_loss did not improve from 0.65702
Epoch 73/250
 - 4s - loss: 0.6069 - acc: 0.8100 - val_loss: 0.6659 - val_acc: 0.7788

Epoch 00073: val_loss did not improve from 0.65702
Epoch 74/250
 - 4s - loss: 0.6123 - acc: 0.8080 - val_loss: 0.6870 - val_acc: 0.7631

Epoch 00074: val_loss did not improve from 0.65702
Epoch 75/250
 - 4s - loss: 0.6146 - acc: 0.8067 - val_loss: 0.6937 - val_acc: 0.7606

Epoch 00075: val_loss did not improve from 0.65702
Epoch 76/250
 - 4s - loss: 0.6096 - acc: 0.8085 - val_loss: 0.6685 - val_acc: 0.7807

Epoch 00076: val_loss did not improve from 0.65702
Epoch 77/250
 - 4s - loss: 0.6134 - acc: 0.8092 - val_loss: 0.6628 - val_acc: 0.7859

Epoch 00077: val_loss did not improve from 0.65702
Epoch 78/250
 - 4s - loss: 0.6116 - acc: 0.8088 - val_loss: 0.6612 - val_acc: 0.7887

Epoch 00078: val_loss did not improve from 0.65702
Epoch 79/250
 - 4s - loss: 0.6083 - acc: 0.8108 - val_loss: 0.6785 - val_acc: 0.7890

Epoch 00079: val_loss did not improve from 0.65702
Epoch 80/250
 - 4s - loss: 0.6066 - acc: 0.8115 - val_loss: 0.6801 - val_acc: 0.7869

Epoch 00080: val_loss did not improve from 0.65702
Epoch 81/250
 - 4s - loss: 0.6082 - acc: 0.8118 - val_loss: 0.6742 - val_acc: 0.7871

Epoch 00081: val_loss did not improve from 0.65702
Epoch 82/250
 - 4s - loss: 0.6077 - acc: 0.8113 - val_loss: 0.7121 - val_acc: 0.7755

Epoch 00082: val_loss did not improve from 0.65702
Epoch 83/250
 - 4s - loss: 0.6078 - acc: 0.8098 - val_loss: 0.6638 - val_acc: 0.7824

Epoch 00083: val_loss did not improve from 0.65702
Epoch 84/250
 - 4s - loss: 0.6077 - acc: 0.8114 - val_loss: 0.6678 - val_acc: 0.7913

Epoch 00084: val_loss did not improve from 0.65702
Epoch 85/250
 - 4s - loss: 0.6039 - acc: 0.8128 - val_loss: 0.6741 - val_acc: 0.7757

Epoch 00085: val_loss did not improve from 0.65702
Epoch 86/250
 - 4s - loss: 0.6043 - acc: 0.8125 - val_loss: 0.6885 - val_acc: 0.7834

Epoch 00086: val_loss did not improve from 0.65702
Epoch 87/250
 - 4s - loss: 0.6029 - acc: 0.8137 - val_loss: 0.6719 - val_acc: 0.7888

Epoch 00087: val_loss did not improve from 0.65702
Epoch 88/250
 - 4s - loss: 0.6054 - acc: 0.8124 - val_loss: 0.6961 - val_acc: 0.7595

Epoch 00088: val_loss did not improve from 0.65702
Epoch 89/250
 - 4s - loss: 0.6026 - acc: 0.8126 - val_loss: 0.6799 - val_acc: 0.7734

Epoch 00089: val_loss did not improve from 0.65702
Epoch 90/250
 - 4s - loss: 0.5995 - acc: 0.8153 - val_loss: 0.7145 - val_acc: 0.7506

Epoch 00090: val_loss did not improve from 0.65702
Epoch 91/250
 - 4s - loss: 0.6036 - acc: 0.8140 - val_loss: 0.6644 - val_acc: 0.7840

Epoch 00091: val_loss did not improve from 0.65702
Epoch 92/250
 - 4s - loss: 0.6061 - acc: 0.8128 - val_loss: 0.6613 - val_acc: 0.7873

Epoch 00092: val_loss did not improve from 0.65702
Epoch 93/250
 - 4s - loss: 0.6035 - acc: 0.8128 - val_loss: 0.6805 - val_acc: 0.7735

Epoch 00093: val_loss did not improve from 0.65702
Epoch 94/250
 - 4s - loss: 0.6033 - acc: 0.8145 - val_loss: 0.6629 - val_acc: 0.7858

Epoch 00094: val_loss did not improve from 0.65702
Epoch 95/250
 - 4s - loss: 0.6045 - acc: 0.8135 - val_loss: 0.6646 - val_acc: 0.7889

Epoch 00095: val_loss did not improve from 0.65702
Epoch 96/250
 - 4s - loss: 0.6027 - acc: 0.8146 - val_loss: 0.6793 - val_acc: 0.7749

Epoch 00096: val_loss did not improve from 0.65702
Epoch 97/250
 - 4s - loss: 0.6016 - acc: 0.8135 - val_loss: 0.6845 - val_acc: 0.7748

Epoch 00097: val_loss did not improve from 0.65702
Epoch 98/250
 - 4s - loss: 0.6025 - acc: 0.8139 - val_loss: 0.6607 - val_acc: 0.7898

Epoch 00098: val_loss did not improve from 0.65702
Epoch 99/250
 - 4s - loss: 0.5978 - acc: 0.8139 - val_loss: 0.6992 - val_acc: 0.7609

Epoch 00099: val_loss did not improve from 0.65702
Epoch 100/250
 - 4s - loss: 0.6027 - acc: 0.8140 - val_loss: 0.6645 - val_acc: 0.7820

Epoch 00100: val_loss did not improve from 0.65702
Epoch 101/250
 - 4s - loss: 0.6003 - acc: 0.8146 - val_loss: 0.6751 - val_acc: 0.7882

Epoch 00101: val_loss did not improve from 0.65702
Epoch 102/250
 - 4s - loss: 0.5975 - acc: 0.8172 - val_loss: 0.6691 - val_acc: 0.7795

Epoch 00102: val_loss did not improve from 0.65702
Epoch 103/250
 - 4s - loss: 0.5995 - acc: 0.8151 - val_loss: 0.6974 - val_acc: 0.7836

Epoch 00103: val_loss did not improve from 0.65702
Epoch 104/250
 - 4s - loss: 0.5969 - acc: 0.8157 - val_loss: 0.6761 - val_acc: 0.7772

Epoch 00104: val_loss did not improve from 0.65702
Epoch 105/250
 - 4s - loss: 0.5993 - acc: 0.8155 - val_loss: 0.6748 - val_acc: 0.7788

Epoch 00105: val_loss did not improve from 0.65702
Epoch 106/250
 - 4s - loss: 0.5998 - acc: 0.8144 - val_loss: 0.6665 - val_acc: 0.7843

Epoch 00106: val_loss did not improve from 0.65702
Epoch 107/250
 - 4s - loss: 0.5960 - acc: 0.8163 - val_loss: 0.6602 - val_acc: 0.7848

Epoch 00107: val_loss did not improve from 0.65702
Epoch 108/250
 - 4s - loss: 0.5958 - acc: 0.8169 - val_loss: 0.6684 - val_acc: 0.7836

Epoch 00108: val_loss did not improve from 0.65702
Epoch 109/250
 - 4s - loss: 0.5945 - acc: 0.8181 - val_loss: 0.6733 - val_acc: 0.7776

Epoch 00109: val_loss did not improve from 0.65702
Epoch 110/250
 - 4s - loss: 0.5914 - acc: 0.8202 - val_loss: 0.6917 - val_acc: 0.7670

Epoch 00110: val_loss did not improve from 0.65702
Epoch 111/250
 - 4s - loss: 0.5980 - acc: 0.8162 - val_loss: 0.7066 - val_acc: 0.7833

Epoch 00111: val_loss did not improve from 0.65702
Epoch 112/250
 - 4s - loss: 0.5941 - acc: 0.8177 - val_loss: 0.6873 - val_acc: 0.7703

Epoch 00112: val_loss did not improve from 0.65702
Epoch 113/250
 - 4s - loss: 0.5965 - acc: 0.8173 - val_loss: 0.6670 - val_acc: 0.7821

Epoch 00113: val_loss did not improve from 0.65702
Epoch 114/250
 - 4s - loss: 0.5950 - acc: 0.8195 - val_loss: 0.6765 - val_acc: 0.7745

Epoch 00114: val_loss did not improve from 0.65702
Epoch 115/250
 - 4s - loss: 0.5932 - acc: 0.8196 - val_loss: 0.6653 - val_acc: 0.7895

Epoch 00115: val_loss did not improve from 0.65702
Epoch 116/250
 - 4s - loss: 0.5900 - acc: 0.8203 - val_loss: 0.6707 - val_acc: 0.7858

Epoch 00116: val_loss did not improve from 0.65702
Epoch 117/250
 - 4s - loss: 0.5950 - acc: 0.8187 - val_loss: 0.6738 - val_acc: 0.7860

Epoch 00117: val_loss did not improve from 0.65702
Epoch 118/250
 - 4s - loss: 0.5953 - acc: 0.8177 - val_loss: 0.6944 - val_acc: 0.7890

Epoch 00118: val_loss did not improve from 0.65702
Epoch 119/250
 - 4s - loss: 0.5938 - acc: 0.8175 - val_loss: 0.6872 - val_acc: 0.7896

Epoch 00119: val_loss did not improve from 0.65702
Epoch 120/250
 - 4s - loss: 0.5913 - acc: 0.8189 - val_loss: 0.7274 - val_acc: 0.7811

Epoch 00120: val_loss did not improve from 0.65702
Epoch 121/250
 - 4s - loss: 0.5927 - acc: 0.8188 - val_loss: 0.6707 - val_acc: 0.7810

Epoch 00121: val_loss did not improve from 0.65702
Epoch 122/250
 - 4s - loss: 0.5903 - acc: 0.8202 - val_loss: 0.6749 - val_acc: 0.7812

Epoch 00122: val_loss did not improve from 0.65702
Epoch 123/250
 - 4s - loss: 0.5950 - acc: 0.8214 - val_loss: 0.6780 - val_acc: 0.7703

Epoch 00123: val_loss did not improve from 0.65702
Epoch 124/250
 - 4s - loss: 0.5901 - acc: 0.8201 - val_loss: 0.6827 - val_acc: 0.7868

Epoch 00124: val_loss did not improve from 0.65702
Epoch 125/250
 - 4s - loss: 0.5896 - acc: 0.8211 - val_loss: 0.6751 - val_acc: 0.7869

Epoch 00125: val_loss did not improve from 0.65702
Epoch 126/250
 - 4s - loss: 0.5873 - acc: 0.8220 - val_loss: 0.7397 - val_acc: 0.7753

Epoch 00126: val_loss did not improve from 0.65702
Epoch 127/250
 - 4s - loss: 0.5906 - acc: 0.8211 - val_loss: 0.6698 - val_acc: 0.7855

Epoch 00127: val_loss did not improve from 0.65702
Epoch 128/250
 - 4s - loss: 0.5887 - acc: 0.8224 - val_loss: 0.6822 - val_acc: 0.7751

Epoch 00128: val_loss did not improve from 0.65702
Epoch 129/250
 - 4s - loss: 0.5874 - acc: 0.8213 - val_loss: 0.6745 - val_acc: 0.7893

Epoch 00129: val_loss did not improve from 0.65702
Epoch 130/250
 - 4s - loss: 0.5897 - acc: 0.8191 - val_loss: 0.6770 - val_acc: 0.7885

Epoch 00130: val_loss did not improve from 0.65702
Epoch 131/250
 - 4s - loss: 0.5881 - acc: 0.8209 - val_loss: 0.6698 - val_acc: 0.7802

Epoch 00131: val_loss did not improve from 0.65702
Epoch 132/250
 - 4s - loss: 0.5861 - acc: 0.8220 - val_loss: 0.6927 - val_acc: 0.7942

Epoch 00132: val_loss did not improve from 0.65702
Epoch 133/250
 - 4s - loss: 0.5914 - acc: 0.8198 - val_loss: 0.6803 - val_acc: 0.7822

Epoch 00133: val_loss did not improve from 0.65702
Epoch 134/250
 - 4s - loss: 0.5888 - acc: 0.8219 - val_loss: 0.6908 - val_acc: 0.7915

Epoch 00134: val_loss did not improve from 0.65702
Epoch 135/250
 - 4s - loss: 0.5850 - acc: 0.8227 - val_loss: 0.6747 - val_acc: 0.7838

Epoch 00135: val_loss did not improve from 0.65702
Epoch 136/250
 - 4s - loss: 0.5888 - acc: 0.8214 - val_loss: 0.7014 - val_acc: 0.7627

Epoch 00136: val_loss did not improve from 0.65702
Epoch 137/250
 - 5s - loss: 0.5872 - acc: 0.8221 - val_loss: 0.7058 - val_acc: 0.7602

Epoch 00137: val_loss did not improve from 0.65702
Epoch 138/250
 - 4s - loss: 0.5877 - acc: 0.8216 - val_loss: 0.6745 - val_acc: 0.7822

Epoch 00138: val_loss did not improve from 0.65702
Epoch 139/250
 - 4s - loss: 0.5889 - acc: 0.8218 - val_loss: 0.6836 - val_acc: 0.7788

Epoch 00139: val_loss did not improve from 0.65702
Epoch 140/250
 - 4s - loss: 0.5845 - acc: 0.8221 - val_loss: 0.6753 - val_acc: 0.7849

Epoch 00140: val_loss did not improve from 0.65702
Epoch 141/250
 - 4s - loss: 0.5908 - acc: 0.8200 - val_loss: 0.6945 - val_acc: 0.7745

Epoch 00141: val_loss did not improve from 0.65702
Epoch 142/250
 - 4s - loss: 0.5875 - acc: 0.8191 - val_loss: 0.6832 - val_acc: 0.7916

Epoch 00142: val_loss did not improve from 0.65702
Epoch 143/250
 - 4s - loss: 0.5873 - acc: 0.8225 - val_loss: 0.6813 - val_acc: 0.7774

Epoch 00143: val_loss did not improve from 0.65702
Epoch 144/250
 - 4s - loss: 0.5873 - acc: 0.8226 - val_loss: 0.7055 - val_acc: 0.7920

Epoch 00144: val_loss did not improve from 0.65702
Epoch 145/250
 - 4s - loss: 0.5838 - acc: 0.8237 - val_loss: 0.6789 - val_acc: 0.7844

Epoch 00145: val_loss did not improve from 0.65702
Epoch 146/250
 - 4s - loss: 0.5863 - acc: 0.8221 - val_loss: 0.6801 - val_acc: 0.7870

Epoch 00146: val_loss did not improve from 0.65702
Epoch 147/250
 - 4s - loss: 0.5825 - acc: 0.8233 - val_loss: 0.6975 - val_acc: 0.7888

Epoch 00147: val_loss did not improve from 0.65702
Epoch 148/250
 - 4s - loss: 0.5887 - acc: 0.8205 - val_loss: 0.6883 - val_acc: 0.7870

Epoch 00148: val_loss did not improve from 0.65702
Epoch 149/250
 - 4s - loss: 0.5863 - acc: 0.8195 - val_loss: 0.6727 - val_acc: 0.7911

Epoch 00149: val_loss did not improve from 0.65702
Epoch 150/250
 - 4s - loss: 0.5826 - acc: 0.8245 - val_loss: 0.6696 - val_acc: 0.7891

Epoch 00150: val_loss did not improve from 0.65702
Epoch 151/250
 - 4s - loss: 0.5873 - acc: 0.8208 - val_loss: 0.6960 - val_acc: 0.7914

Epoch 00151: val_loss did not improve from 0.65702
Epoch 152/250
 - 4s - loss: 0.5838 - acc: 0.8234 - val_loss: 0.6848 - val_acc: 0.7908

Epoch 00152: val_loss did not improve from 0.65702
Epoch 153/250
 - 4s - loss: 0.5850 - acc: 0.8233 - val_loss: 0.6950 - val_acc: 0.7708

Epoch 00153: val_loss did not improve from 0.65702
Epoch 154/250
 - 4s - loss: 0.5834 - acc: 0.8237 - val_loss: 0.6739 - val_acc: 0.7842

Epoch 00154: val_loss did not improve from 0.65702
Epoch 155/250
 - 4s - loss: 0.5803 - acc: 0.8250 - val_loss: 0.6959 - val_acc: 0.7923

Epoch 00155: val_loss did not improve from 0.65702
Epoch 156/250
 - 4s - loss: 0.5865 - acc: 0.8222 - val_loss: 0.6752 - val_acc: 0.7879

Epoch 00156: val_loss did not improve from 0.65702
Epoch 157/250
 - 4s - loss: 0.5781 - acc: 0.8257 - val_loss: 0.6930 - val_acc: 0.7645

Epoch 00157: val_loss did not improve from 0.65702
Epoch 158/250
 - 4s - loss: 0.5861 - acc: 0.8236 - val_loss: 0.6750 - val_acc: 0.7877

Epoch 00158: val_loss did not improve from 0.65702
Epoch 159/250
 - 4s - loss: 0.5836 - acc: 0.8253 - val_loss: 0.6828 - val_acc: 0.7782

Epoch 00159: val_loss did not improve from 0.65702
Epoch 160/250
 - 4s - loss: 0.5810 - acc: 0.8240 - val_loss: 0.6879 - val_acc: 0.7775

Epoch 00160: val_loss did not improve from 0.65702
Epoch 161/250
 - 4s - loss: 0.5819 - acc: 0.8233 - val_loss: 0.6908 - val_acc: 0.7671

Epoch 00161: val_loss did not improve from 0.65702
Epoch 162/250
 - 4s - loss: 0.5824 - acc: 0.8246 - val_loss: 0.6802 - val_acc: 0.7819

Epoch 00162: val_loss did not improve from 0.65702
Epoch 163/250
 - 5s - loss: 0.5823 - acc: 0.8238 - val_loss: 0.6772 - val_acc: 0.7833

Epoch 00163: val_loss did not improve from 0.65702
Epoch 164/250
 - 4s - loss: 0.5823 - acc: 0.8250 - val_loss: 0.6810 - val_acc: 0.7725

Epoch 00164: val_loss did not improve from 0.65702
Epoch 165/250
 - 5s - loss: 0.5820 - acc: 0.8240 - val_loss: 0.6692 - val_acc: 0.7858

Epoch 00165: val_loss did not improve from 0.65702
Epoch 166/250
 - 5s - loss: 0.5812 - acc: 0.8266 - val_loss: 0.6857 - val_acc: 0.7929

Epoch 00166: val_loss did not improve from 0.65702
Epoch 167/250
 - 4s - loss: 0.5819 - acc: 0.8240 - val_loss: 0.6911 - val_acc: 0.7915

Epoch 00167: val_loss did not improve from 0.65702
Epoch 168/250
 - 4s - loss: 0.5828 - acc: 0.8246 - val_loss: 0.6831 - val_acc: 0.7765

Epoch 00168: val_loss did not improve from 0.65702
Epoch 169/250
 - 5s - loss: 0.5812 - acc: 0.8243 - val_loss: 0.7069 - val_acc: 0.7653

Epoch 00169: val_loss did not improve from 0.65702
Epoch 170/250
 - 4s - loss: 0.5794 - acc: 0.8252 - val_loss: 0.6993 - val_acc: 0.7879

Epoch 00170: val_loss did not improve from 0.65702
Epoch 171/250
 - 4s - loss: 0.5835 - acc: 0.8246 - val_loss: 0.6932 - val_acc: 0.7883

Epoch 00171: val_loss did not improve from 0.65702
Epoch 172/250
 - 5s - loss: 0.5771 - acc: 0.8275 - val_loss: 0.7608 - val_acc: 0.7737

Epoch 00172: val_loss did not improve from 0.65702
Epoch 173/250
 - 4s - loss: 0.5787 - acc: 0.8258 - val_loss: 0.6883 - val_acc: 0.7930

Epoch 00173: val_loss did not improve from 0.65702
Epoch 174/250
 - 4s - loss: 0.5828 - acc: 0.8253 - val_loss: 0.6965 - val_acc: 0.7788

Epoch 00174: val_loss did not improve from 0.65702
Epoch 175/250
 - 4s - loss: 0.5814 - acc: 0.8258 - val_loss: 0.6972 - val_acc: 0.7892

Epoch 00175: val_loss did not improve from 0.65702
Epoch 176/250
 - 4s - loss: 0.5748 - acc: 0.8301 - val_loss: 0.6975 - val_acc: 0.7902

Epoch 00176: val_loss did not improve from 0.65702
Epoch 177/250
 - 4s - loss: 0.5802 - acc: 0.8256 - val_loss: 0.6756 - val_acc: 0.7825

Epoch 00177: val_loss did not improve from 0.65702
Epoch 178/250
 - 5s - loss: 0.5830 - acc: 0.8227 - val_loss: 0.6858 - val_acc: 0.7859

Epoch 00178: val_loss did not improve from 0.65702
Epoch 179/250
 - 6s - loss: 0.5803 - acc: 0.8250 - val_loss: 0.6781 - val_acc: 0.7780

Epoch 00179: val_loss did not improve from 0.65702
Epoch 180/250
 - 5s - loss: 0.5784 - acc: 0.8254 - val_loss: 0.7013 - val_acc: 0.7902

Epoch 00180: val_loss did not improve from 0.65702
Epoch 181/250
 - 4s - loss: 0.5793 - acc: 0.8249 - val_loss: 0.6755 - val_acc: 0.7853

Epoch 00181: val_loss did not improve from 0.65702
Epoch 182/250
 - 4s - loss: 0.5769 - acc: 0.8275 - val_loss: 0.7053 - val_acc: 0.7708

Epoch 00182: val_loss did not improve from 0.65702
Epoch 183/250
 - 4s - loss: 0.5798 - acc: 0.8249 - val_loss: 0.6885 - val_acc: 0.7744

Epoch 00183: val_loss did not improve from 0.65702
Epoch 184/250
 - 4s - loss: 0.5760 - acc: 0.8276 - val_loss: 0.6985 - val_acc: 0.7902

Epoch 00184: val_loss did not improve from 0.65702
Epoch 185/250
 - 4s - loss: 0.5770 - acc: 0.8280 - val_loss: 0.7102 - val_acc: 0.7883

Epoch 00185: val_loss did not improve from 0.65702
Epoch 186/250
 - 4s - loss: 0.5793 - acc: 0.8264 - val_loss: 0.6798 - val_acc: 0.7851

Epoch 00186: val_loss did not improve from 0.65702
Epoch 187/250
 - 4s - loss: 0.5753 - acc: 0.8277 - val_loss: 0.6803 - val_acc: 0.7893

Epoch 00187: val_loss did not improve from 0.65702
Epoch 188/250
 - 4s - loss: 0.5785 - acc: 0.8280 - val_loss: 0.7331 - val_acc: 0.7506

Epoch 00188: val_loss did not improve from 0.65702
Epoch 189/250
 - 4s - loss: 0.5778 - acc: 0.8258 - val_loss: 0.6888 - val_acc: 0.7878

Epoch 00189: val_loss did not improve from 0.65702
Epoch 190/250
 - 4s - loss: 0.5794 - acc: 0.8262 - val_loss: 0.7142 - val_acc: 0.7850

Epoch 00190: val_loss did not improve from 0.65702
Epoch 191/250
 - 4s - loss: 0.5735 - acc: 0.8288 - val_loss: 0.6927 - val_acc: 0.7895

Epoch 00191: val_loss did not improve from 0.65702
Epoch 192/250
 - 5s - loss: 0.5801 - acc: 0.8260 - val_loss: 0.6875 - val_acc: 0.7734

Epoch 00192: val_loss did not improve from 0.65702
Epoch 193/250
 - 4s - loss: 0.5736 - acc: 0.8285 - val_loss: 0.7012 - val_acc: 0.7653

Epoch 00193: val_loss did not improve from 0.65702
Epoch 194/250
 - 4s - loss: 0.5755 - acc: 0.8269 - val_loss: 0.6909 - val_acc: 0.7910

Epoch 00194: val_loss did not improve from 0.65702
Epoch 195/250
 - 5s - loss: 0.5786 - acc: 0.8258 - val_loss: 0.6909 - val_acc: 0.7893

Epoch 00195: val_loss did not improve from 0.65702
Epoch 196/250
 - 4s - loss: 0.5768 - acc: 0.8263 - val_loss: 0.7005 - val_acc: 0.7649

Epoch 00196: val_loss did not improve from 0.65702
Epoch 197/250
 - 4s - loss: 0.5737 - acc: 0.8293 - val_loss: 0.6828 - val_acc: 0.7759

Epoch 00197: val_loss did not improve from 0.65702
Epoch 198/250
 - 4s - loss: 0.5780 - acc: 0.8297 - val_loss: 0.6853 - val_acc: 0.7788

Epoch 00198: val_loss did not improve from 0.65702
Epoch 199/250
 - 4s - loss: 0.5778 - acc: 0.8261 - val_loss: 0.6752 - val_acc: 0.7900

Epoch 00199: val_loss did not improve from 0.65702
Epoch 200/250
 - 4s - loss: 0.5739 - acc: 0.8291 - val_loss: 0.7097 - val_acc: 0.7599

Epoch 00200: val_loss did not improve from 0.65702
Epoch 201/250
 - 4s - loss: 0.5777 - acc: 0.8275 - val_loss: 0.6968 - val_acc: 0.7854

Epoch 00201: val_loss did not improve from 0.65702
Epoch 202/250
 - 4s - loss: 0.5759 - acc: 0.8292 - val_loss: 0.6883 - val_acc: 0.7874

Epoch 00202: val_loss did not improve from 0.65702
Epoch 203/250
 - 4s - loss: 0.5748 - acc: 0.8285 - val_loss: 0.6921 - val_acc: 0.7873

Epoch 00203: val_loss did not improve from 0.65702
Epoch 204/250
 - 4s - loss: 0.5786 - acc: 0.8255 - val_loss: 0.6754 - val_acc: 0.7851

Epoch 00204: val_loss did not improve from 0.65702
Epoch 205/250
 - 4s - loss: 0.5681 - acc: 0.8309 - val_loss: 0.7676 - val_acc: 0.7805

Epoch 00205: val_loss did not improve from 0.65702
Epoch 206/250
 - 4s - loss: 0.5778 - acc: 0.8280 - val_loss: 0.6804 - val_acc: 0.7891

Epoch 00206: val_loss did not improve from 0.65702
Epoch 207/250
 - 4s - loss: 0.5744 - acc: 0.8278 - val_loss: 0.7137 - val_acc: 0.7888

Epoch 00207: val_loss did not improve from 0.65702
Epoch 208/250
 - 4s - loss: 0.5760 - acc: 0.8275 - val_loss: 0.7175 - val_acc: 0.7557

Epoch 00208: val_loss did not improve from 0.65702
Epoch 209/250
 - 4s - loss: 0.5718 - acc: 0.8305 - val_loss: 0.6826 - val_acc: 0.7873

Epoch 00209: val_loss did not improve from 0.65702
Epoch 210/250
 - 4s - loss: 0.5721 - acc: 0.8290 - val_loss: 0.6976 - val_acc: 0.7804

Epoch 00210: val_loss did not improve from 0.65702
Epoch 211/250
 - 4s - loss: 0.5722 - acc: 0.8311 - val_loss: 0.6872 - val_acc: 0.7893

Epoch 00211: val_loss did not improve from 0.65702
Epoch 212/250
 - 4s - loss: 0.5748 - acc: 0.8274 - val_loss: 0.6891 - val_acc: 0.7828

Epoch 00212: val_loss did not improve from 0.65702
Epoch 213/250
 - 4s - loss: 0.5730 - acc: 0.8300 - val_loss: 0.6824 - val_acc: 0.7875

Epoch 00213: val_loss did not improve from 0.65702
Epoch 214/250
 - 5s - loss: 0.5741 - acc: 0.8289 - val_loss: 0.6836 - val_acc: 0.7787

Epoch 00214: val_loss did not improve from 0.65702
Epoch 215/250
 - 4s - loss: 0.5741 - acc: 0.8309 - val_loss: 0.6972 - val_acc: 0.7898

Epoch 00215: val_loss did not improve from 0.65702
Epoch 216/250
 - 5s - loss: 0.5768 - acc: 0.8292 - val_loss: 0.6932 - val_acc: 0.7811

Epoch 00216: val_loss did not improve from 0.65702
Epoch 217/250
 - 5s - loss: 0.5718 - acc: 0.8300 - val_loss: 0.6903 - val_acc: 0.7752

Epoch 00217: val_loss did not improve from 0.65702
Epoch 218/250
 - 4s - loss: 0.5729 - acc: 0.8283 - val_loss: 0.7024 - val_acc: 0.7897

Epoch 00218: val_loss did not improve from 0.65702
Epoch 219/250
 - 4s - loss: 0.5697 - acc: 0.8300 - val_loss: 0.6943 - val_acc: 0.7801

Epoch 00219: val_loss did not improve from 0.65702
Epoch 220/250
 - 5s - loss: 0.5723 - acc: 0.8306 - val_loss: 0.6905 - val_acc: 0.7730

Epoch 00220: val_loss did not improve from 0.65702
Epoch 221/250
 - 5s - loss: 0.5732 - acc: 0.8292 - val_loss: 0.6935 - val_acc: 0.7797

Epoch 00221: val_loss did not improve from 0.65702
Epoch 222/250
 - 5s - loss: 0.5721 - acc: 0.8297 - val_loss: 0.7087 - val_acc: 0.7895

Epoch 00222: val_loss did not improve from 0.65702
Epoch 223/250
 - 4s - loss: 0.5701 - acc: 0.8315 - val_loss: 0.7228 - val_acc: 0.7876

Epoch 00223: val_loss did not improve from 0.65702
Epoch 224/250
 - 4s - loss: 0.5766 - acc: 0.8271 - val_loss: 0.7164 - val_acc: 0.7896

Epoch 00224: val_loss did not improve from 0.65702
Epoch 225/250
 - 4s - loss: 0.5740 - acc: 0.8291 - val_loss: 0.6929 - val_acc: 0.7878

Epoch 00225: val_loss did not improve from 0.65702
Epoch 226/250
 - 5s - loss: 0.5734 - acc: 0.8284 - val_loss: 0.6830 - val_acc: 0.7833

Epoch 00226: val_loss did not improve from 0.65702
Epoch 227/250
 - 4s - loss: 0.5727 - acc: 0.8289 - val_loss: 0.6832 - val_acc: 0.7852

Epoch 00227: val_loss did not improve from 0.65702
Epoch 228/250
 - 4s - loss: 0.5740 - acc: 0.8297 - val_loss: 0.6780 - val_acc: 0.7896

Epoch 00228: val_loss did not improve from 0.65702
Epoch 229/250
 - 4s - loss: 0.5696 - acc: 0.8318 - val_loss: 0.7061 - val_acc: 0.7809

Epoch 00229: val_loss did not improve from 0.65702
Epoch 230/250
 - 4s - loss: 0.5740 - acc: 0.8315 - val_loss: 0.6906 - val_acc: 0.7934

Epoch 00230: val_loss did not improve from 0.65702
Epoch 231/250
 - 5s - loss: 0.5714 - acc: 0.8308 - val_loss: 0.6869 - val_acc: 0.7806

Epoch 00231: val_loss did not improve from 0.65702
Epoch 232/250
 - 4s - loss: 0.5681 - acc: 0.8331 - val_loss: 0.6855 - val_acc: 0.7892

Epoch 00232: val_loss did not improve from 0.65702
Epoch 233/250
 - 4s - loss: 0.5686 - acc: 0.8318 - val_loss: 0.6915 - val_acc: 0.7920

Epoch 00233: val_loss did not improve from 0.65702
Epoch 234/250
 - 4s - loss: 0.5719 - acc: 0.8319 - val_loss: 0.7078 - val_acc: 0.7708

Epoch 00234: val_loss did not improve from 0.65702
Epoch 235/250
 - 4s - loss: 0.5718 - acc: 0.8309 - val_loss: 0.7037 - val_acc: 0.7921

Epoch 00235: val_loss did not improve from 0.65702
Epoch 236/250
 - 5s - loss: 0.5698 - acc: 0.8312 - val_loss: 0.7048 - val_acc: 0.7644

Epoch 00236: val_loss did not improve from 0.65702
Epoch 237/250
 - 5s - loss: 0.5734 - acc: 0.8303 - val_loss: 0.6826 - val_acc: 0.7813

Epoch 00237: val_loss did not improve from 0.65702
Epoch 238/250
 - 5s - loss: 0.5682 - acc: 0.8320 - val_loss: 0.7631 - val_acc: 0.7467

Epoch 00238: val_loss did not improve from 0.65702
Epoch 239/250
 - 5s - loss: 0.5752 - acc: 0.8287 - val_loss: 0.6881 - val_acc: 0.7903

Epoch 00239: val_loss did not improve from 0.65702
Epoch 240/250
 - 5s - loss: 0.5690 - acc: 0.8314 - val_loss: 0.7031 - val_acc: 0.7908

Epoch 00240: val_loss did not improve from 0.65702
Epoch 241/250
 - 4s - loss: 0.5728 - acc: 0.8286 - val_loss: 0.6775 - val_acc: 0.7859

Epoch 00241: val_loss did not improve from 0.65702
Epoch 242/250
 - 5s - loss: 0.5687 - acc: 0.8318 - val_loss: 0.6821 - val_acc: 0.7900

Epoch 00242: val_loss did not improve from 0.65702
Epoch 243/250
 - 5s - loss: 0.5702 - acc: 0.8296 - val_loss: 0.6919 - val_acc: 0.7932

Epoch 00243: val_loss did not improve from 0.65702
Epoch 244/250
 - 4s - loss: 0.5710 - acc: 0.8305 - val_loss: 0.6828 - val_acc: 0.7817

Epoch 00244: val_loss did not improve from 0.65702
Epoch 245/250
 - 5s - loss: 0.5696 - acc: 0.8310 - val_loss: 0.6866 - val_acc: 0.7808

Epoch 00245: val_loss did not improve from 0.65702
Epoch 246/250
 - 4s - loss: 0.5707 - acc: 0.8297 - val_loss: 0.6880 - val_acc: 0.7865

Epoch 00246: val_loss did not improve from 0.65702
Epoch 247/250
 - 5s - loss: 0.5717 - acc: 0.8296 - val_loss: 0.7251 - val_acc: 0.7577

Epoch 00247: val_loss did not improve from 0.65702
Epoch 248/250
 - 5s - loss: 0.5715 - acc: 0.8299 - val_loss: 0.6897 - val_acc: 0.7847

Epoch 00248: val_loss did not improve from 0.65702
Epoch 249/250
 - 5s - loss: 0.5684 - acc: 0.8316 - val_loss: 0.7144 - val_acc: 0.7870

Epoch 00249: val_loss did not improve from 0.65702
Epoch 250/250
 - 4s - loss: 0.5693 - acc: 0.8295 - val_loss: 0.6912 - val_acc: 0.7876

Epoch 00250: val_loss did not improve from 0.65702
In [355]:
# trying another architechture : model_2 with different optimizer
model_2 = Sequential()
model_2.add(Dense(1024, kernel_regularizer=regularizers.l2(.001),input_dim=X_train.shape[1]))
model_2.add(Activation('relu'))
model_2.add(Dropout(0.2))
model_2.add(Dense(512,kernel_regularizer=regularizers.l2(.001)))
model_2.add(Activation('relu'))
model_2.add(Dropout(0.2))
model_2.add(Dense(128,kernel_regularizer=regularizers.l1_l2(.001)))
model_2.add(Activation('relu'))
model_2.add(Dropout(0.3))
model_2.add(Dense(32, kernel_regularizer=regularizers.l2(.001)))
model_2.add(Activation('relu'))
model_2.add(Dense(3, activation = 'softmax'))

model_2.summary()
_________________________________________________________________
Layer (type)                 Output Shape              Param #   
=================================================================
dense_53 (Dense)             (None, 1024)              140288    
_________________________________________________________________
activation_42 (Activation)   (None, 1024)              0         
_________________________________________________________________
dropout_32 (Dropout)         (None, 1024)              0         
_________________________________________________________________
dense_54 (Dense)             (None, 512)               524800    
_________________________________________________________________
activation_43 (Activation)   (None, 512)               0         
_________________________________________________________________
dropout_33 (Dropout)         (None, 512)               0         
_________________________________________________________________
dense_55 (Dense)             (None, 128)               65664     
_________________________________________________________________
activation_44 (Activation)   (None, 128)               0         
_________________________________________________________________
dropout_34 (Dropout)         (None, 128)               0         
_________________________________________________________________
dense_56 (Dense)             (None, 32)                4128      
_________________________________________________________________
activation_45 (Activation)   (None, 32)                0         
_________________________________________________________________
dense_57 (Dense)             (None, 3)                 99        
=================================================================
Total params: 734,979
Trainable params: 734,979
Non-trainable params: 0
_________________________________________________________________
In [356]:
# compile the model_2
model_2.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])
In [357]:
# checkpoint for model_2
filepath="weights-improvement-best-model_2.hdf5"
checkpoint = ModelCheckpoint(filepath, monitor='val_loss', verbose=1, save_best_only=True, mode='min')
callbacks_list_1 = [checkpoint]

# training the model

start_time_2 = time()
model_2.fit(X_train,y_train,batch_size= 1000, epochs= 100,
          validation_data=(X_valid,y_valid),
          #validation_split = 0.2,
         verbose =2,callbacks = callbacks_list_1)
end_time_2 = time()
Train on 40392 samples, validate on 10098 samples
Epoch 1/100
 - 4s - loss: 4.7386 - acc: 0.6953 - val_loss: 2.7434 - val_acc: 0.7546

Epoch 00001: val_loss improved from inf to 2.74337, saving model to weights-improvement-best-model_2.hdf5
Epoch 2/100
 - 3s - loss: 1.8369 - acc: 0.7472 - val_loss: 1.1403 - val_acc: 0.7604

Epoch 00002: val_loss improved from 2.74337 to 1.14033, saving model to weights-improvement-best-model_2.hdf5
Epoch 3/100
 - 3s - loss: 0.9244 - acc: 0.7516 - val_loss: 0.7856 - val_acc: 0.7627

Epoch 00003: val_loss improved from 1.14033 to 0.78558, saving model to weights-improvement-best-model_2.hdf5
Epoch 4/100
 - 3s - loss: 0.7643 - acc: 0.7545 - val_loss: 0.7230 - val_acc: 0.7645

Epoch 00004: val_loss improved from 0.78558 to 0.72303, saving model to weights-improvement-best-model_2.hdf5
Epoch 5/100
 - 3s - loss: 0.7249 - acc: 0.7569 - val_loss: 0.7024 - val_acc: 0.7645

Epoch 00005: val_loss improved from 0.72303 to 0.70244, saving model to weights-improvement-best-model_2.hdf5
Epoch 6/100
 - 3s - loss: 0.7095 - acc: 0.7586 - val_loss: 0.6890 - val_acc: 0.7671

Epoch 00006: val_loss improved from 0.70244 to 0.68902, saving model to weights-improvement-best-model_2.hdf5
Epoch 7/100
 - 3s - loss: 0.6974 - acc: 0.7600 - val_loss: 0.6795 - val_acc: 0.7683

Epoch 00007: val_loss improved from 0.68902 to 0.67950, saving model to weights-improvement-best-model_2.hdf5
Epoch 8/100
 - 3s - loss: 0.6861 - acc: 0.7617 - val_loss: 0.6728 - val_acc: 0.7645

Epoch 00008: val_loss improved from 0.67950 to 0.67283, saving model to weights-improvement-best-model_2.hdf5
Epoch 9/100
 - 3s - loss: 0.6775 - acc: 0.7648 - val_loss: 0.6667 - val_acc: 0.7704

Epoch 00009: val_loss improved from 0.67283 to 0.66671, saving model to weights-improvement-best-model_2.hdf5
Epoch 10/100
 - 3s - loss: 0.6724 - acc: 0.7664 - val_loss: 0.6622 - val_acc: 0.7707

Epoch 00010: val_loss improved from 0.66671 to 0.66225, saving model to weights-improvement-best-model_2.hdf5
Epoch 11/100
 - 3s - loss: 0.6685 - acc: 0.7672 - val_loss: 0.6586 - val_acc: 0.7728

Epoch 00011: val_loss improved from 0.66225 to 0.65859, saving model to weights-improvement-best-model_2.hdf5
Epoch 12/100
 - 3s - loss: 0.6631 - acc: 0.7707 - val_loss: 0.6571 - val_acc: 0.7716

Epoch 00012: val_loss improved from 0.65859 to 0.65707, saving model to weights-improvement-best-model_2.hdf5
Epoch 13/100
 - 3s - loss: 0.6584 - acc: 0.7716 - val_loss: 0.6565 - val_acc: 0.7725

Epoch 00013: val_loss improved from 0.65707 to 0.65646, saving model to weights-improvement-best-model_2.hdf5
Epoch 14/100
 - 3s - loss: 0.6549 - acc: 0.7722 - val_loss: 0.6553 - val_acc: 0.7685

Epoch 00014: val_loss improved from 0.65646 to 0.65529, saving model to weights-improvement-best-model_2.hdf5
Epoch 15/100
 - 3s - loss: 0.6520 - acc: 0.7733 - val_loss: 0.6522 - val_acc: 0.7686

Epoch 00015: val_loss improved from 0.65529 to 0.65219, saving model to weights-improvement-best-model_2.hdf5
Epoch 16/100
 - 3s - loss: 0.6499 - acc: 0.7731 - val_loss: 0.6491 - val_acc: 0.7726

Epoch 00016: val_loss improved from 0.65219 to 0.64907, saving model to weights-improvement-best-model_2.hdf5
Epoch 17/100
 - 3s - loss: 0.6462 - acc: 0.7757 - val_loss: 0.6537 - val_acc: 0.7731

Epoch 00017: val_loss did not improve from 0.64907
Epoch 18/100
 - 3s - loss: 0.6452 - acc: 0.7762 - val_loss: 0.6455 - val_acc: 0.7713

Epoch 00018: val_loss improved from 0.64907 to 0.64546, saving model to weights-improvement-best-model_2.hdf5
Epoch 19/100
 - 3s - loss: 0.6410 - acc: 0.7803 - val_loss: 0.6472 - val_acc: 0.7748

Epoch 00019: val_loss did not improve from 0.64546
Epoch 20/100
 - 3s - loss: 0.6383 - acc: 0.7802 - val_loss: 0.6473 - val_acc: 0.7766

Epoch 00020: val_loss did not improve from 0.64546
Epoch 21/100
 - 3s - loss: 0.6362 - acc: 0.7798 - val_loss: 0.6400 - val_acc: 0.7765

Epoch 00021: val_loss improved from 0.64546 to 0.64004, saving model to weights-improvement-best-model_2.hdf5
Epoch 22/100
 - 3s - loss: 0.6354 - acc: 0.7825 - val_loss: 0.6409 - val_acc: 0.7752

Epoch 00022: val_loss did not improve from 0.64004
Epoch 23/100
 - 3s - loss: 0.6316 - acc: 0.7840 - val_loss: 0.6389 - val_acc: 0.7801

Epoch 00023: val_loss improved from 0.64004 to 0.63894, saving model to weights-improvement-best-model_2.hdf5
Epoch 24/100
 - 3s - loss: 0.6323 - acc: 0.7849 - val_loss: 0.6399 - val_acc: 0.7784

Epoch 00024: val_loss did not improve from 0.63894
Epoch 25/100
 - 3s - loss: 0.6308 - acc: 0.7873 - val_loss: 0.6446 - val_acc: 0.7771

Epoch 00025: val_loss did not improve from 0.63894
Epoch 26/100
 - 3s - loss: 0.6255 - acc: 0.7861 - val_loss: 0.6396 - val_acc: 0.7742

Epoch 00026: val_loss did not improve from 0.63894
Epoch 27/100
 - 3s - loss: 0.6256 - acc: 0.7867 - val_loss: 0.6373 - val_acc: 0.7819

Epoch 00027: val_loss improved from 0.63894 to 0.63731, saving model to weights-improvement-best-model_2.hdf5
Epoch 28/100
 - 3s - loss: 0.6246 - acc: 0.7903 - val_loss: 0.6418 - val_acc: 0.7790

Epoch 00028: val_loss did not improve from 0.63731
Epoch 29/100
 - 3s - loss: 0.6263 - acc: 0.7887 - val_loss: 0.6422 - val_acc: 0.7831

Epoch 00029: val_loss did not improve from 0.63731
Epoch 30/100
 - 3s - loss: 0.6214 - acc: 0.7906 - val_loss: 0.6363 - val_acc: 0.7822

Epoch 00030: val_loss improved from 0.63731 to 0.63635, saving model to weights-improvement-best-model_2.hdf5
Epoch 31/100
 - 3s - loss: 0.6184 - acc: 0.7921 - val_loss: 0.6373 - val_acc: 0.7823

Epoch 00031: val_loss did not improve from 0.63635
Epoch 32/100
 - 3s - loss: 0.6166 - acc: 0.7956 - val_loss: 0.6399 - val_acc: 0.7785

Epoch 00032: val_loss did not improve from 0.63635
Epoch 33/100
 - 3s - loss: 0.6156 - acc: 0.7917 - val_loss: 0.6389 - val_acc: 0.7807

Epoch 00033: val_loss did not improve from 0.63635
Epoch 34/100
 - 3s - loss: 0.6156 - acc: 0.7937 - val_loss: 0.6335 - val_acc: 0.7830

Epoch 00034: val_loss improved from 0.63635 to 0.63350, saving model to weights-improvement-best-model_2.hdf5
Epoch 35/100
 - 3s - loss: 0.6130 - acc: 0.7959 - val_loss: 0.6370 - val_acc: 0.7839

Epoch 00035: val_loss did not improve from 0.63350
Epoch 36/100
 - 3s - loss: 0.6160 - acc: 0.7951 - val_loss: 0.6337 - val_acc: 0.7807

Epoch 00036: val_loss did not improve from 0.63350
Epoch 37/100
 - 3s - loss: 0.6129 - acc: 0.7945 - val_loss: 0.6350 - val_acc: 0.7821

Epoch 00037: val_loss did not improve from 0.63350
Epoch 38/100
 - 3s - loss: 0.6077 - acc: 0.7980 - val_loss: 0.6348 - val_acc: 0.7832

Epoch 00038: val_loss did not improve from 0.63350
Epoch 39/100
 - 3s - loss: 0.6131 - acc: 0.7951 - val_loss: 0.6365 - val_acc: 0.7840

Epoch 00039: val_loss did not improve from 0.63350
Epoch 40/100
 - 3s - loss: 0.6096 - acc: 0.7966 - val_loss: 0.6311 - val_acc: 0.7836

Epoch 00040: val_loss improved from 0.63350 to 0.63108, saving model to weights-improvement-best-model_2.hdf5
Epoch 41/100
 - 3s - loss: 0.6060 - acc: 0.7990 - val_loss: 0.6357 - val_acc: 0.7834

Epoch 00041: val_loss did not improve from 0.63108
Epoch 42/100
 - 3s - loss: 0.6083 - acc: 0.7969 - val_loss: 0.6404 - val_acc: 0.7799

Epoch 00042: val_loss did not improve from 0.63108
Epoch 43/100
 - 3s - loss: 0.6079 - acc: 0.7987 - val_loss: 0.6319 - val_acc: 0.7867

Epoch 00043: val_loss did not improve from 0.63108
Epoch 44/100
 - 3s - loss: 0.6011 - acc: 0.8004 - val_loss: 0.6356 - val_acc: 0.7834

Epoch 00044: val_loss did not improve from 0.63108
Epoch 45/100
 - 3s - loss: 0.6025 - acc: 0.8000 - val_loss: 0.6314 - val_acc: 0.7878

Epoch 00045: val_loss did not improve from 0.63108
Epoch 46/100
 - 3s - loss: 0.6037 - acc: 0.8005 - val_loss: 0.6275 - val_acc: 0.7870

Epoch 00046: val_loss improved from 0.63108 to 0.62755, saving model to weights-improvement-best-model_2.hdf5
Epoch 47/100
 - 3s - loss: 0.6007 - acc: 0.8017 - val_loss: 0.6392 - val_acc: 0.7806

Epoch 00047: val_loss did not improve from 0.62755
Epoch 48/100
 - 3s - loss: 0.6028 - acc: 0.7991 - val_loss: 0.6389 - val_acc: 0.7831

Epoch 00048: val_loss did not improve from 0.62755
Epoch 49/100
 - 3s - loss: 0.5993 - acc: 0.8029 - val_loss: 0.6344 - val_acc: 0.7859

Epoch 00049: val_loss did not improve from 0.62755
Epoch 50/100
 - 3s - loss: 0.6014 - acc: 0.8007 - val_loss: 0.6295 - val_acc: 0.7858

Epoch 00050: val_loss did not improve from 0.62755
Epoch 51/100
 - 3s - loss: 0.5992 - acc: 0.8036 - val_loss: 0.6347 - val_acc: 0.7830

Epoch 00051: val_loss did not improve from 0.62755
Epoch 52/100
 - 3s - loss: 0.5967 - acc: 0.8039 - val_loss: 0.6336 - val_acc: 0.7816

Epoch 00052: val_loss did not improve from 0.62755
Epoch 53/100
 - 3s - loss: 0.5972 - acc: 0.8033 - val_loss: 0.6362 - val_acc: 0.7859

Epoch 00053: val_loss did not improve from 0.62755
Epoch 54/100
 - 3s - loss: 0.5971 - acc: 0.8023 - val_loss: 0.6368 - val_acc: 0.7841

Epoch 00054: val_loss did not improve from 0.62755
Epoch 55/100
 - 3s - loss: 0.5984 - acc: 0.8018 - val_loss: 0.6307 - val_acc: 0.7855

Epoch 00055: val_loss did not improve from 0.62755
Epoch 56/100
 - 3s - loss: 0.5943 - acc: 0.8044 - val_loss: 0.6306 - val_acc: 0.7873

Epoch 00056: val_loss did not improve from 0.62755
Epoch 57/100
 - 3s - loss: 0.5956 - acc: 0.8055 - val_loss: 0.6339 - val_acc: 0.7862

Epoch 00057: val_loss did not improve from 0.62755
Epoch 58/100
 - 3s - loss: 0.5934 - acc: 0.8048 - val_loss: 0.6357 - val_acc: 0.7795

Epoch 00058: val_loss did not improve from 0.62755
Epoch 59/100
 - 3s - loss: 0.5899 - acc: 0.8086 - val_loss: 0.6326 - val_acc: 0.7893

Epoch 00059: val_loss did not improve from 0.62755
Epoch 60/100
 - 3s - loss: 0.5914 - acc: 0.8080 - val_loss: 0.6315 - val_acc: 0.7868

Epoch 00060: val_loss did not improve from 0.62755
Epoch 61/100
 - 3s - loss: 0.5913 - acc: 0.8080 - val_loss: 0.6351 - val_acc: 0.7857

Epoch 00061: val_loss did not improve from 0.62755
Epoch 62/100
 - 3s - loss: 0.5920 - acc: 0.8075 - val_loss: 0.6375 - val_acc: 0.7832

Epoch 00062: val_loss did not improve from 0.62755
Epoch 63/100
 - 3s - loss: 0.5910 - acc: 0.8077 - val_loss: 0.6369 - val_acc: 0.7868

Epoch 00063: val_loss did not improve from 0.62755
Epoch 64/100
 - 3s - loss: 0.5902 - acc: 0.8081 - val_loss: 0.6314 - val_acc: 0.7870

Epoch 00064: val_loss did not improve from 0.62755
Epoch 65/100
 - 3s - loss: 0.5871 - acc: 0.8094 - val_loss: 0.6318 - val_acc: 0.7850

Epoch 00065: val_loss did not improve from 0.62755
Epoch 66/100
 - 3s - loss: 0.5860 - acc: 0.8113 - val_loss: 0.6305 - val_acc: 0.7903

Epoch 00066: val_loss did not improve from 0.62755
Epoch 67/100
 - 3s - loss: 0.5869 - acc: 0.8099 - val_loss: 0.6307 - val_acc: 0.7890

Epoch 00067: val_loss did not improve from 0.62755
Epoch 68/100
 - 3s - loss: 0.5845 - acc: 0.8109 - val_loss: 0.6411 - val_acc: 0.7841

Epoch 00068: val_loss did not improve from 0.62755
Epoch 69/100
 - 3s - loss: 0.5864 - acc: 0.8092 - val_loss: 0.6371 - val_acc: 0.7898

Epoch 00069: val_loss did not improve from 0.62755
Epoch 70/100
 - 3s - loss: 0.5850 - acc: 0.8116 - val_loss: 0.6301 - val_acc: 0.7883

Epoch 00070: val_loss did not improve from 0.62755
Epoch 71/100
 - 3s - loss: 0.5822 - acc: 0.8122 - val_loss: 0.6317 - val_acc: 0.7876

Epoch 00071: val_loss did not improve from 0.62755
Epoch 72/100
 - 3s - loss: 0.5818 - acc: 0.8133 - val_loss: 0.6328 - val_acc: 0.7895

Epoch 00072: val_loss did not improve from 0.62755
Epoch 73/100
 - 3s - loss: 0.5810 - acc: 0.8133 - val_loss: 0.6326 - val_acc: 0.7862

Epoch 00073: val_loss did not improve from 0.62755
Epoch 74/100
 - 3s - loss: 0.5802 - acc: 0.8144 - val_loss: 0.6296 - val_acc: 0.7876

Epoch 00074: val_loss did not improve from 0.62755
Epoch 75/100
 - 3s - loss: 0.5811 - acc: 0.8128 - val_loss: 0.6306 - val_acc: 0.7909

Epoch 00075: val_loss did not improve from 0.62755
Epoch 76/100
 - 3s - loss: 0.5774 - acc: 0.8166 - val_loss: 0.6420 - val_acc: 0.7786

Epoch 00076: val_loss did not improve from 0.62755
Epoch 77/100
 - 3s - loss: 0.5811 - acc: 0.8131 - val_loss: 0.6331 - val_acc: 0.7875

Epoch 00077: val_loss did not improve from 0.62755
Epoch 78/100
 - 3s - loss: 0.5788 - acc: 0.8144 - val_loss: 0.6375 - val_acc: 0.7864

Epoch 00078: val_loss did not improve from 0.62755
Epoch 79/100
 - 3s - loss: 0.5773 - acc: 0.8154 - val_loss: 0.6368 - val_acc: 0.7895

Epoch 00079: val_loss did not improve from 0.62755
Epoch 80/100
 - 3s - loss: 0.5802 - acc: 0.8133 - val_loss: 0.6348 - val_acc: 0.7826

Epoch 00080: val_loss did not improve from 0.62755
Epoch 81/100
 - 3s - loss: 0.5771 - acc: 0.8154 - val_loss: 0.6398 - val_acc: 0.7827

Epoch 00081: val_loss did not improve from 0.62755
Epoch 82/100
 - 3s - loss: 0.5803 - acc: 0.8131 - val_loss: 0.6358 - val_acc: 0.7855

Epoch 00082: val_loss did not improve from 0.62755
Epoch 83/100
 - 3s - loss: 0.5779 - acc: 0.8125 - val_loss: 0.6364 - val_acc: 0.7849

Epoch 00083: val_loss did not improve from 0.62755
Epoch 84/100
 - 3s - loss: 0.5759 - acc: 0.8142 - val_loss: 0.6368 - val_acc: 0.7900

Epoch 00084: val_loss did not improve from 0.62755
Epoch 85/100
 - 3s - loss: 0.5756 - acc: 0.8157 - val_loss: 0.6375 - val_acc: 0.7806

Epoch 00085: val_loss did not improve from 0.62755
Epoch 86/100
 - 3s - loss: 0.5728 - acc: 0.8167 - val_loss: 0.6361 - val_acc: 0.7918

Epoch 00086: val_loss did not improve from 0.62755
Epoch 87/100
 - 3s - loss: 0.5729 - acc: 0.8176 - val_loss: 0.6373 - val_acc: 0.7869

Epoch 00087: val_loss did not improve from 0.62755
Epoch 88/100
 - 3s - loss: 0.5706 - acc: 0.8198 - val_loss: 0.6388 - val_acc: 0.7819

Epoch 00088: val_loss did not improve from 0.62755
Epoch 89/100
 - 3s - loss: 0.5741 - acc: 0.8173 - val_loss: 0.6372 - val_acc: 0.7906

Epoch 00089: val_loss did not improve from 0.62755
Epoch 90/100
 - 3s - loss: 0.5722 - acc: 0.8178 - val_loss: 0.6344 - val_acc: 0.7888

Epoch 00090: val_loss did not improve from 0.62755
Epoch 91/100
 - 3s - loss: 0.5710 - acc: 0.8179 - val_loss: 0.6392 - val_acc: 0.7880

Epoch 00091: val_loss did not improve from 0.62755
Epoch 92/100
 - 3s - loss: 0.5701 - acc: 0.8190 - val_loss: 0.6339 - val_acc: 0.7886

Epoch 00092: val_loss did not improve from 0.62755
Epoch 93/100
 - 3s - loss: 0.5719 - acc: 0.8196 - val_loss: 0.6418 - val_acc: 0.7818

Epoch 00093: val_loss did not improve from 0.62755
Epoch 94/100
 - 3s - loss: 0.5719 - acc: 0.8165 - val_loss: 0.6316 - val_acc: 0.7914

Epoch 00094: val_loss did not improve from 0.62755
Epoch 95/100
 - 3s - loss: 0.5697 - acc: 0.8205 - val_loss: 0.6347 - val_acc: 0.7861

Epoch 00095: val_loss did not improve from 0.62755
Epoch 96/100
 - 3s - loss: 0.5694 - acc: 0.8189 - val_loss: 0.6400 - val_acc: 0.7903

Epoch 00096: val_loss did not improve from 0.62755
Epoch 97/100
 - 3s - loss: 0.5672 - acc: 0.8195 - val_loss: 0.6372 - val_acc: 0.7873

Epoch 00097: val_loss did not improve from 0.62755
Epoch 98/100
 - 3s - loss: 0.5682 - acc: 0.8186 - val_loss: 0.6356 - val_acc: 0.7891

Epoch 00098: val_loss did not improve from 0.62755
Epoch 99/100
 - 3s - loss: 0.5664 - acc: 0.8196 - val_loss: 0.6402 - val_acc: 0.7879

Epoch 00099: val_loss did not improve from 0.62755
Epoch 100/100
 - 3s - loss: 0.5688 - acc: 0.8189 - val_loss: 0.6349 - val_acc: 0.7900

Epoch 00100: val_loss did not improve from 0.62755
In [362]:
# Evaluating the model on the training and testing set
score = model.evaluate(X_train, y_train)
print("\n Training Accuracy on model_1:", score[1])
score = model.evaluate(X_test, y_test)
print("\n Testing Accuracy on model_1:", score[1])
40392/40392 [==============================] - 2s 58us/step

 Training Accuracy on model_1: 0.8096157654981184
8910/8910 [==============================] - 1s 57us/step

 Testing Accuracy on model_1: 0.7802469135534884
In [363]:
# Evaluating the model_1 on the training and testing set
score = model_1.evaluate(X_train, y_train)
print("\n Training Accuracy on model_1:", score[1])
score = model_1.evaluate(X_test, y_test)
print("\n Testing Accuracy on model_1:", score[1])
40392/40392 [==============================] - 3s 75us/step

 Training Accuracy on model_1: 0.8573232323232324
8910/8910 [==============================] - 1s 79us/step

 Testing Accuracy on model_1: 0.7858585858318273
In [364]:
# Evaluating the model_2 on the training and testing set
score = model_2.evaluate(X_train, y_train)
print("\n Training Accuracy on model_1:", score[1])
score = model_2.evaluate(X_test, y_test)
print("\n Testing Accuracy on model_1:", score[1])
40392/40392 [==============================] - 2s 58us/step

 Training Accuracy on model_1: 0.8356110120816003
8910/8910 [==============================] - 1s 57us/step

 Testing Accuracy on model_1: 0.7922558922291337
Conclusion
So from the above parameter tuning of the Deep NN , I have acheived an accuracy score of "79.2%". Almost 2% higher than the base models. This is a very open field for further tuning and depends highly on time and computational resources at hand. At the submission time (Sunday 6:00PM, 7th July 2019)for Axiata-Analytics for employment-test this was the best result I have acheived . Since I have already made entry into the www.drivendata.org , i will further tune and submit my predictions.
In [ ]: